reflex 0.8.0a2__tar.gz → 0.8.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.8.0a2 → reflex-0.8.0a4}/PKG-INFO +1 -1
  2. {reflex-0.8.0a2 → reflex-0.8.0a4}/pyproject.toml +1 -1
  3. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +5 -1
  4. reflex-0.8.0a4/reflex/.templates/web/styles/__reflex_style_reset.css +399 -0
  5. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/vite.config.js +6 -0
  6. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/app.py +16 -4
  7. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/compiler/compiler.py +23 -9
  8. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/datadisplay/dataeditor.pyi +2 -6
  9. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/sonner/toast.pyi +2 -3
  10. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/constants/compiler.py +7 -0
  11. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/constants/installer.py +1 -0
  12. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/environment.py +6 -4
  13. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/testing.py +47 -26
  14. {reflex-0.8.0a2 → reflex-0.8.0a4}/.gitignore +0 -0
  15. {reflex-0.8.0a2 → reflex-0.8.0a4}/LICENSE +0 -0
  16. {reflex-0.8.0a2 → reflex-0.8.0a4}/README.md +0 -0
  17. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
  18. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/apps/blank/code/__init__.py +0 -0
  19. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/apps/blank/code/blank.py +0 -0
  20. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
  21. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
  22. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
  23. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
  24. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
  25. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
  26. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
  27. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
  28. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
  29. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
  30. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
  31. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
  32. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
  33. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
  34. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
  35. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
  36. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
  37. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
  38. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
  39. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/.gitignore +0 -0
  40. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/app/entry.client.js +0 -0
  41. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/app/routes.js +0 -0
  42. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
  43. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/components/shiki/code.js +0 -0
  44. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/jsconfig.json +0 -0
  45. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/postcss.config.js +0 -0
  46. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/react-router.config.js +0 -0
  47. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/utils/client_side_routing.js +0 -0
  48. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
  49. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
  50. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/utils/helpers/paste.js +0 -0
  51. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/utils/helpers/range.js +0 -0
  52. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
  53. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/utils/react-theme.js +0 -0
  54. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/.templates/web/utils/state.js +0 -0
  55. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/__init__.py +0 -0
  56. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/__init__.pyi +0 -0
  57. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/__main__.py +0 -0
  58. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/admin.py +0 -0
  59. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/app_mixins/__init__.py +0 -0
  60. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/app_mixins/lifespan.py +0 -0
  61. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/app_mixins/middleware.py +0 -0
  62. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/app_mixins/mixin.py +0 -0
  63. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/assets.py +0 -0
  64. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/base.py +0 -0
  65. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/compiler/__init__.py +0 -0
  66. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/compiler/templates.py +0 -0
  67. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/compiler/utils.py +0 -0
  68. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/__init__.py +0 -0
  69. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/__init__.pyi +0 -0
  70. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/__init__.py +0 -0
  71. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/__init__.pyi +0 -0
  72. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/app_wrap.py +0 -0
  73. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/app_wrap.pyi +0 -0
  74. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/bare.py +0 -0
  75. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/body.py +0 -0
  76. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/body.pyi +0 -0
  77. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/document.py +0 -0
  78. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/document.pyi +0 -0
  79. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/error_boundary.py +0 -0
  80. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/error_boundary.pyi +0 -0
  81. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/fragment.py +0 -0
  82. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/fragment.pyi +0 -0
  83. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/link.py +0 -0
  84. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/link.pyi +0 -0
  85. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/meta.py +0 -0
  86. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/meta.pyi +0 -0
  87. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/script.py +0 -0
  88. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/script.pyi +0 -0
  89. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/strict_mode.py +0 -0
  90. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/base/strict_mode.pyi +0 -0
  91. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/component.py +0 -0
  92. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/__init__.py +0 -0
  93. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/__init__.pyi +0 -0
  94. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/auto_scroll.py +0 -0
  95. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/auto_scroll.pyi +0 -0
  96. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/banner.py +0 -0
  97. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/banner.pyi +0 -0
  98. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/breakpoints.py +0 -0
  99. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/client_side_routing.py +0 -0
  100. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/client_side_routing.pyi +0 -0
  101. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/clipboard.py +0 -0
  102. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/clipboard.pyi +0 -0
  103. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/colors.py +0 -0
  104. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/cond.py +0 -0
  105. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/debounce.py +0 -0
  106. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/debounce.pyi +0 -0
  107. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/foreach.py +0 -0
  108. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/helmet.py +0 -0
  109. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/helmet.pyi +0 -0
  110. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/html.py +0 -0
  111. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/html.pyi +0 -0
  112. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/layout/__init__.py +0 -0
  113. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/match.py +0 -0
  114. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/responsive.py +0 -0
  115. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/sticky.py +0 -0
  116. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/sticky.pyi +0 -0
  117. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/upload.py +0 -0
  118. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/core/upload.pyi +0 -0
  119. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/datadisplay/__init__.py +0 -0
  120. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/datadisplay/__init__.pyi +0 -0
  121. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/datadisplay/code.py +0 -0
  122. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/datadisplay/code.pyi +0 -0
  123. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/datadisplay/dataeditor.py +0 -0
  124. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/datadisplay/logo.py +0 -0
  125. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/datadisplay/shiki_code_block.py +0 -0
  126. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
  127. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/dynamic.py +0 -0
  128. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/__init__.py +0 -0
  129. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/__init__.pyi +0 -0
  130. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/constants/__init__.py +0 -0
  131. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/constants/html.py +0 -0
  132. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/constants/react.py +0 -0
  133. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/constants/reflex.py +0 -0
  134. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/element.py +0 -0
  135. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/element.pyi +0 -0
  136. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/__init__.py +0 -0
  137. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/__init__.pyi +0 -0
  138. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/base.py +0 -0
  139. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/base.pyi +0 -0
  140. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/forms.py +0 -0
  141. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/forms.pyi +0 -0
  142. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/inline.py +0 -0
  143. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/inline.pyi +0 -0
  144. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/media.py +0 -0
  145. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/media.pyi +0 -0
  146. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/metadata.py +0 -0
  147. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/metadata.pyi +0 -0
  148. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/other.py +0 -0
  149. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/other.pyi +0 -0
  150. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/scripts.py +0 -0
  151. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/scripts.pyi +0 -0
  152. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/sectioning.py +0 -0
  153. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/sectioning.pyi +0 -0
  154. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/tables.py +0 -0
  155. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/tables.pyi +0 -0
  156. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/typography.py +0 -0
  157. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/el/elements/typography.pyi +0 -0
  158. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/field.py +0 -0
  159. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/gridjs/__init__.py +0 -0
  160. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/gridjs/datatable.py +0 -0
  161. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/gridjs/datatable.pyi +0 -0
  162. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/literals.py +0 -0
  163. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/lucide/__init__.py +0 -0
  164. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/lucide/icon.py +0 -0
  165. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/lucide/icon.pyi +0 -0
  166. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/markdown/__init__.py +0 -0
  167. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/markdown/markdown.py +0 -0
  168. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/markdown/markdown.pyi +0 -0
  169. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/moment/__init__.py +0 -0
  170. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/moment/moment.py +0 -0
  171. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/moment/moment.pyi +0 -0
  172. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/plotly/__init__.py +0 -0
  173. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/plotly/plotly.py +0 -0
  174. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/plotly/plotly.pyi +0 -0
  175. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/props.py +0 -0
  176. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/__init__.py +0 -0
  177. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/__init__.pyi +0 -0
  178. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/__init__.py +0 -0
  179. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/__init__.pyi +0 -0
  180. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/accordion.py +0 -0
  181. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/accordion.pyi +0 -0
  182. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/base.py +0 -0
  183. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/base.pyi +0 -0
  184. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/drawer.py +0 -0
  185. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/drawer.pyi +0 -0
  186. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/form.py +0 -0
  187. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/form.pyi +0 -0
  188. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/progress.py +0 -0
  189. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/progress.pyi +0 -0
  190. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/slider.py +0 -0
  191. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/primitives/slider.pyi +0 -0
  192. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/__init__.py +0 -0
  193. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/__init__.pyi +0 -0
  194. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/base.py +0 -0
  195. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/base.pyi +0 -0
  196. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/color_mode.py +0 -0
  197. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/color_mode.pyi +0 -0
  198. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/__init__.py +0 -0
  199. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/__init__.pyi +0 -0
  200. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
  201. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
  202. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
  203. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
  204. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/avatar.py +0 -0
  205. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/avatar.pyi +0 -0
  206. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/badge.py +0 -0
  207. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/badge.pyi +0 -0
  208. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/button.py +0 -0
  209. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/button.pyi +0 -0
  210. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/callout.py +0 -0
  211. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/callout.pyi +0 -0
  212. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/card.py +0 -0
  213. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/card.pyi +0 -0
  214. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/checkbox.py +0 -0
  215. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
  216. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
  217. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
  218. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
  219. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
  220. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/context_menu.py +0 -0
  221. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
  222. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/data_list.py +0 -0
  223. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/data_list.pyi +0 -0
  224. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/dialog.py +0 -0
  225. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/dialog.pyi +0 -0
  226. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
  227. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
  228. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/hover_card.py +0 -0
  229. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
  230. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/icon_button.py +0 -0
  231. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
  232. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/inset.py +0 -0
  233. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/inset.pyi +0 -0
  234. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/popover.py +0 -0
  235. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/popover.pyi +0 -0
  236. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/progress.py +0 -0
  237. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/progress.pyi +0 -0
  238. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/radio.py +0 -0
  239. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/radio.pyi +0 -0
  240. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/radio_cards.py +0 -0
  241. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
  242. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/radio_group.py +0 -0
  243. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
  244. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/scroll_area.py +0 -0
  245. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
  246. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/segmented_control.py +0 -0
  247. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
  248. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/select.py +0 -0
  249. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/select.pyi +0 -0
  250. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/separator.py +0 -0
  251. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/separator.pyi +0 -0
  252. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/skeleton.py +0 -0
  253. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
  254. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/slider.py +0 -0
  255. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/slider.pyi +0 -0
  256. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/spinner.py +0 -0
  257. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/spinner.pyi +0 -0
  258. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/switch.py +0 -0
  259. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/switch.pyi +0 -0
  260. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/table.py +0 -0
  261. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/table.pyi +0 -0
  262. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/tabs.py +0 -0
  263. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/tabs.pyi +0 -0
  264. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/text_area.py +0 -0
  265. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/text_area.pyi +0 -0
  266. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/text_field.py +0 -0
  267. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/text_field.pyi +0 -0
  268. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/tooltip.py +0 -0
  269. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
  270. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/__init__.py +0 -0
  271. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
  272. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/base.py +0 -0
  273. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/base.pyi +0 -0
  274. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/box.py +0 -0
  275. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/box.pyi +0 -0
  276. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/center.py +0 -0
  277. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/center.pyi +0 -0
  278. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/container.py +0 -0
  279. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/container.pyi +0 -0
  280. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/flex.py +0 -0
  281. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/flex.pyi +0 -0
  282. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/grid.py +0 -0
  283. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/grid.pyi +0 -0
  284. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/list.py +0 -0
  285. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/list.pyi +0 -0
  286. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/section.py +0 -0
  287. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/section.pyi +0 -0
  288. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/spacer.py +0 -0
  289. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
  290. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/stack.py +0 -0
  291. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/layout/stack.pyi +0 -0
  292. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/__init__.py +0 -0
  293. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
  294. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/base.py +0 -0
  295. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/blockquote.py +0 -0
  296. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
  297. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/code.py +0 -0
  298. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/code.pyi +0 -0
  299. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/heading.py +0 -0
  300. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/heading.pyi +0 -0
  301. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/link.py +0 -0
  302. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/link.pyi +0 -0
  303. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/text.py +0 -0
  304. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/radix/themes/typography/text.pyi +0 -0
  305. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/react_player/__init__.py +0 -0
  306. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/react_player/audio.py +0 -0
  307. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/react_player/audio.pyi +0 -0
  308. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/react_player/react_player.py +0 -0
  309. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/react_player/react_player.pyi +0 -0
  310. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/react_player/video.py +0 -0
  311. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/react_player/video.pyi +0 -0
  312. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/__init__.py +0 -0
  313. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/__init__.pyi +0 -0
  314. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/cartesian.py +0 -0
  315. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/cartesian.pyi +0 -0
  316. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/charts.py +0 -0
  317. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/charts.pyi +0 -0
  318. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/general.py +0 -0
  319. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/general.pyi +0 -0
  320. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/polar.py +0 -0
  321. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/polar.pyi +0 -0
  322. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/recharts.py +0 -0
  323. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/recharts/recharts.pyi +0 -0
  324. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/sonner/__init__.py +0 -0
  325. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/sonner/toast.py +0 -0
  326. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/tags/__init__.py +0 -0
  327. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/tags/cond_tag.py +0 -0
  328. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/tags/iter_tag.py +0 -0
  329. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/tags/match_tag.py +0 -0
  330. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/tags/tag.py +0 -0
  331. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/components/tags/tagless.py +0 -0
  332. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/config.py +0 -0
  333. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/constants/__init__.py +0 -0
  334. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/constants/base.py +0 -0
  335. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/constants/colors.py +0 -0
  336. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/constants/config.py +0 -0
  337. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/constants/custom_components.py +0 -0
  338. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/constants/event.py +0 -0
  339. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/constants/route.py +0 -0
  340. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/constants/state.py +0 -0
  341. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/constants/utils.py +0 -0
  342. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/custom_components/__init__.py +0 -0
  343. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/custom_components/custom_components.py +0 -0
  344. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/event.py +0 -0
  345. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/experimental/__init__.py +0 -0
  346. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/experimental/client_state.py +0 -0
  347. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/experimental/hooks.py +0 -0
  348. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/istate/__init__.py +0 -0
  349. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/istate/data.py +0 -0
  350. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/istate/dynamic.py +0 -0
  351. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/istate/manager.py +0 -0
  352. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/istate/proxy.py +0 -0
  353. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/istate/storage.py +0 -0
  354. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/istate/wrappers.py +0 -0
  355. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/middleware/__init__.py +0 -0
  356. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/middleware/hydrate_middleware.py +0 -0
  357. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/middleware/middleware.py +0 -0
  358. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/model.py +0 -0
  359. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/page.py +0 -0
  360. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/plugins/__init__.py +0 -0
  361. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/plugins/base.py +0 -0
  362. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/plugins/shared_tailwind.py +0 -0
  363. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/plugins/sitemap.py +0 -0
  364. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/plugins/tailwind_v3.py +0 -0
  365. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/plugins/tailwind_v4.py +0 -0
  366. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/py.typed +0 -0
  367. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/reflex.py +0 -0
  368. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/route.py +0 -0
  369. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/state.py +0 -0
  370. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/style.py +0 -0
  371. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/__init__.py +0 -0
  372. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/build.py +0 -0
  373. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/codespaces.py +0 -0
  374. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/compat.py +0 -0
  375. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/console.py +0 -0
  376. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/decorator.py +0 -0
  377. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/exceptions.py +0 -0
  378. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/exec.py +0 -0
  379. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/export.py +0 -0
  380. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/format.py +0 -0
  381. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/imports.py +0 -0
  382. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/lazy_loader.py +0 -0
  383. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/misc.py +0 -0
  384. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/net.py +0 -0
  385. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/path_ops.py +0 -0
  386. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/prerequisites.py +0 -0
  387. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/processes.py +0 -0
  388. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/pyi_generator.py +0 -0
  389. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/redir.py +0 -0
  390. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/registry.py +0 -0
  391. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/serializers.py +0 -0
  392. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/telemetry.py +0 -0
  393. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/utils/types.py +0 -0
  394. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/vars/__init__.py +0 -0
  395. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/vars/base.py +0 -0
  396. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/vars/datetime.py +0 -0
  397. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/vars/dep_tracking.py +0 -0
  398. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/vars/function.py +0 -0
  399. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/vars/number.py +0 -0
  400. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/vars/object.py +0 -0
  401. {reflex-0.8.0a2 → reflex-0.8.0a4}/reflex/vars/sequence.py +0 -0
  402. {reflex-0.8.0a2 → reflex-0.8.0a4}/scripts/hatch_build.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reflex
3
- Version: 0.8.0a2
3
+ Version: 0.8.0a4
4
4
  Summary: Web apps in pure Python.
5
5
  Project-URL: homepage, https://reflex.dev
6
6
  Project-URL: repository, https://github.com/reflex-dev/reflex
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "reflex"
3
- version = "0.8.0a2"
3
+ version = "0.8.0a4"
4
4
  description = "Web apps in pure Python."
5
5
  license.text = "Apache-2.0"
6
6
  authors = [
@@ -2,7 +2,7 @@
2
2
  {% from "web/pages/macros.js.jinja2" import renderHooks %}
3
3
 
4
4
  {% block early_imports %}
5
- import '$/styles/__reflex_global_styles.css'
5
+ import reflexGlobalStyles from '$/styles/__reflex_global_styles.css?url';
6
6
  {% endblock %}
7
7
 
8
8
  {% block declaration %}
@@ -20,6 +20,10 @@ import * as {{library_alias}} from "{{library_path}}";
20
20
  {% endblock %}
21
21
 
22
22
  {% block export %}
23
+ export const links = () => [
24
+ { rel: 'stylesheet', href: reflexGlobalStyles, type: 'text/css' }
25
+ ];
26
+
23
27
  function AppWrap({children}) {
24
28
  {{ renderHooks(hooks) }}
25
29
 
@@ -0,0 +1,399 @@
1
+ @layer __reflex_base {
2
+ /*
3
+ 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
4
+ 2. Remove default margins and padding
5
+ 3. Reset all borders.
6
+ */
7
+
8
+ *,
9
+ ::after,
10
+ ::before,
11
+ ::backdrop,
12
+ ::file-selector-button {
13
+ box-sizing: border-box; /* 1 */
14
+ margin: 0; /* 2 */
15
+ padding: 0; /* 2 */
16
+ border: 0 solid; /* 3 */
17
+ }
18
+
19
+ /*
20
+ 1. Use a consistent sensible line-height in all browsers.
21
+ 2. Prevent adjustments of font size after orientation changes in iOS.
22
+ 3. Use a more readable tab size.
23
+ 4. Use the user's configured `sans` font-family by default.
24
+ 5. Use the user's configured `sans` font-feature-settings by default.
25
+ 6. Use the user's configured `sans` font-variation-settings by default.
26
+ 7. Disable tap highlights on iOS.
27
+ */
28
+
29
+ html,
30
+ :host {
31
+ line-height: 1.5; /* 1 */
32
+ -webkit-text-size-adjust: 100%; /* 2 */
33
+ tab-size: 4; /* 3 */
34
+ font-family: --theme(
35
+ --default-font-family,
36
+ ui-sans-serif,
37
+ system-ui,
38
+ sans-serif,
39
+ "Apple Color Emoji",
40
+ "Segoe UI Emoji",
41
+ "Segoe UI Symbol",
42
+ "Noto Color Emoji"
43
+ ); /* 4 */
44
+ font-feature-settings: --theme(
45
+ --default-font-feature-settings,
46
+ normal
47
+ ); /* 5 */
48
+ font-variation-settings: --theme(
49
+ --default-font-variation-settings,
50
+ normal
51
+ ); /* 6 */
52
+ -webkit-tap-highlight-color: transparent; /* 7 */
53
+ }
54
+
55
+ /*
56
+ 1. Add the correct height in Firefox.
57
+ 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
58
+ 3. Reset the default border style to a 1px solid border.
59
+ */
60
+
61
+ hr {
62
+ height: 0; /* 1 */
63
+ color: inherit; /* 2 */
64
+ border-top-width: 1px; /* 3 */
65
+ }
66
+
67
+ /*
68
+ Add the correct text decoration in Chrome, Edge, and Safari.
69
+ */
70
+
71
+ abbr:where([title]) {
72
+ -webkit-text-decoration: underline dotted;
73
+ text-decoration: underline dotted;
74
+ }
75
+
76
+ /*
77
+ Remove the default font size and weight for headings.
78
+ */
79
+
80
+ h1,
81
+ h2,
82
+ h3,
83
+ h4,
84
+ h5,
85
+ h6 {
86
+ font-size: inherit;
87
+ font-weight: inherit;
88
+ }
89
+
90
+ /*
91
+ Reset links to optimize for opt-in styling instead of opt-out.
92
+ */
93
+
94
+ a {
95
+ color: inherit;
96
+ -webkit-text-decoration: inherit;
97
+ text-decoration: inherit;
98
+ }
99
+
100
+ /*
101
+ Add the correct font weight in Edge and Safari.
102
+ */
103
+
104
+ b,
105
+ strong {
106
+ font-weight: bolder;
107
+ }
108
+
109
+ /*
110
+ 1. Use the user's configured `mono` font-family by default.
111
+ 2. Use the user's configured `mono` font-feature-settings by default.
112
+ 3. Use the user's configured `mono` font-variation-settings by default.
113
+ 4. Correct the odd `em` font sizing in all browsers.
114
+ */
115
+
116
+ code,
117
+ kbd,
118
+ samp,
119
+ pre {
120
+ font-family: --theme(
121
+ --default-mono-font-family,
122
+ ui-monospace,
123
+ SFMono-Regular,
124
+ Menlo,
125
+ Monaco,
126
+ Consolas,
127
+ "Liberation Mono",
128
+ "Courier New",
129
+ monospace
130
+ ); /* 1 */
131
+ font-feature-settings: --theme(
132
+ --default-mono-font-feature-settings,
133
+ normal
134
+ ); /* 2 */
135
+ font-variation-settings: --theme(
136
+ --default-mono-font-variation-settings,
137
+ normal
138
+ ); /* 3 */
139
+ font-size: 1em; /* 4 */
140
+ }
141
+
142
+ /*
143
+ Add the correct font size in all browsers.
144
+ */
145
+
146
+ small {
147
+ font-size: 80%;
148
+ }
149
+
150
+ /*
151
+ Prevent `sub` and `sup` elements from affecting the line height in all browsers.
152
+ */
153
+
154
+ sub,
155
+ sup {
156
+ font-size: 75%;
157
+ line-height: 0;
158
+ position: relative;
159
+ vertical-align: baseline;
160
+ }
161
+
162
+ sub {
163
+ bottom: -0.25em;
164
+ }
165
+
166
+ sup {
167
+ top: -0.5em;
168
+ }
169
+
170
+ /*
171
+ 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
172
+ 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
173
+ 3. Remove gaps between table borders by default.
174
+ */
175
+
176
+ table {
177
+ text-indent: 0; /* 1 */
178
+ border-color: inherit; /* 2 */
179
+ border-collapse: collapse; /* 3 */
180
+ }
181
+
182
+ /*
183
+ Use the modern Firefox focus style for all focusable elements.
184
+ */
185
+
186
+ :-moz-focusring {
187
+ outline: auto;
188
+ }
189
+
190
+ /*
191
+ Add the correct vertical alignment in Chrome and Firefox.
192
+ */
193
+
194
+ progress {
195
+ vertical-align: baseline;
196
+ }
197
+
198
+ /*
199
+ Add the correct display in Chrome and Safari.
200
+ */
201
+
202
+ summary {
203
+ display: list-item;
204
+ }
205
+
206
+ /*
207
+ Make lists unstyled by default.
208
+ */
209
+
210
+ ol,
211
+ ul,
212
+ menu {
213
+ list-style: none;
214
+ }
215
+
216
+ /*
217
+ 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
218
+ 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
219
+ This can trigger a poorly considered lint error in some tools but is included by design.
220
+ */
221
+
222
+ img,
223
+ svg,
224
+ video,
225
+ canvas,
226
+ audio,
227
+ iframe,
228
+ embed,
229
+ object {
230
+ display: block; /* 1 */
231
+ vertical-align: middle; /* 2 */
232
+ }
233
+
234
+ /*
235
+ Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
236
+ */
237
+
238
+ img,
239
+ video {
240
+ max-width: 100%;
241
+ height: auto;
242
+ }
243
+
244
+ /*
245
+ 1. Inherit font styles in all browsers.
246
+ 2. Remove border radius in all browsers.
247
+ 3. Remove background color in all browsers.
248
+ 4. Ensure consistent opacity for disabled states in all browsers.
249
+ */
250
+
251
+ button,
252
+ input,
253
+ select,
254
+ optgroup,
255
+ textarea,
256
+ ::file-selector-button {
257
+ font: inherit; /* 1 */
258
+ font-feature-settings: inherit; /* 1 */
259
+ font-variation-settings: inherit; /* 1 */
260
+ letter-spacing: inherit; /* 1 */
261
+ color: inherit; /* 1 */
262
+ border-radius: 0; /* 2 */
263
+ background-color: transparent; /* 3 */
264
+ opacity: 1; /* 4 */
265
+ }
266
+
267
+ /*
268
+ Restore default font weight.
269
+ */
270
+
271
+ :where(select:is([multiple], [size])) optgroup {
272
+ font-weight: bolder;
273
+ }
274
+
275
+ /*
276
+ Restore indentation.
277
+ */
278
+
279
+ :where(select:is([multiple], [size])) optgroup option {
280
+ padding-inline-start: 20px;
281
+ }
282
+
283
+ /*
284
+ Restore space after button.
285
+ */
286
+
287
+ ::file-selector-button {
288
+ margin-inline-end: 4px;
289
+ }
290
+
291
+ /*
292
+ Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
293
+ */
294
+
295
+ ::placeholder {
296
+ opacity: 1;
297
+ }
298
+
299
+ /*
300
+ Set the default placeholder color to a semi-transparent version of the current text color in browsers that do not
301
+ crash when using `color-mix(…)` with `currentcolor`. (https://github.com/tailwindlabs/tailwindcss/issues/17194)
302
+ */
303
+
304
+ @supports (not (-webkit-appearance: -apple-pay-button)) /* Not Safari */ or
305
+ (contain-intrinsic-size: 1px) /* Safari 17+ */ {
306
+ ::placeholder {
307
+ color: color-mix(in oklab, currentcolor 50%, transparent);
308
+ }
309
+ }
310
+
311
+ /*
312
+ Prevent resizing textareas horizontally by default.
313
+ */
314
+
315
+ textarea {
316
+ resize: vertical;
317
+ }
318
+
319
+ /*
320
+ Remove the inner padding in Chrome and Safari on macOS.
321
+ */
322
+
323
+ ::-webkit-search-decoration {
324
+ -webkit-appearance: none;
325
+ }
326
+
327
+ /*
328
+ 1. Ensure date/time inputs have the same height when empty in iOS Safari.
329
+ 2. Ensure text alignment can be changed on date/time inputs in iOS Safari.
330
+ */
331
+
332
+ ::-webkit-date-and-time-value {
333
+ min-height: 1lh; /* 1 */
334
+ text-align: inherit; /* 2 */
335
+ }
336
+
337
+ /*
338
+ Prevent height from changing on date/time inputs in macOS Safari when the input is set to `display: block`.
339
+ */
340
+
341
+ ::-webkit-datetime-edit {
342
+ display: inline-flex;
343
+ }
344
+
345
+ /*
346
+ Remove excess padding from pseudo-elements in date/time inputs to ensure consistent height across browsers.
347
+ */
348
+
349
+ ::-webkit-datetime-edit-fields-wrapper {
350
+ padding: 0;
351
+ }
352
+
353
+ ::-webkit-datetime-edit,
354
+ ::-webkit-datetime-edit-year-field,
355
+ ::-webkit-datetime-edit-month-field,
356
+ ::-webkit-datetime-edit-day-field,
357
+ ::-webkit-datetime-edit-hour-field,
358
+ ::-webkit-datetime-edit-minute-field,
359
+ ::-webkit-datetime-edit-second-field,
360
+ ::-webkit-datetime-edit-millisecond-field,
361
+ ::-webkit-datetime-edit-meridiem-field {
362
+ padding-block: 0;
363
+ }
364
+
365
+ /*
366
+ Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
367
+ */
368
+
369
+ :-moz-ui-invalid {
370
+ box-shadow: none;
371
+ }
372
+
373
+ /*
374
+ Correct the inability to style the border radius in iOS Safari.
375
+ */
376
+
377
+ button,
378
+ input:where([type="button"], [type="reset"], [type="submit"]),
379
+ ::file-selector-button {
380
+ appearance: button;
381
+ }
382
+
383
+ /*
384
+ Correct the cursor style of increment and decrement buttons in Safari.
385
+ */
386
+
387
+ ::-webkit-inner-spin-button,
388
+ ::-webkit-outer-spin-button {
389
+ height: auto;
390
+ }
391
+
392
+ /*
393
+ Make elements with the HTML hidden attribute stay hidden by default.
394
+ */
395
+
396
+ [hidden]:where(:not([hidden="until-found"])) {
397
+ display: none !important;
398
+ }
399
+ }
@@ -11,6 +11,12 @@ export default defineConfig((config) => ({
11
11
  },
12
12
  server: {
13
13
  port: process.env.PORT,
14
+ watch: {
15
+ ignored: [
16
+ "**/.web/backend/**",
17
+ "**/.web/reflex.install_frontend_packages.cached",
18
+ ],
19
+ },
14
20
  },
15
21
  resolve: {
16
22
  mainFields: ["browser", "module", "jsnext"],
@@ -77,6 +77,7 @@ from reflex.event import (
77
77
  EventType,
78
78
  IndividualEventType,
79
79
  get_hydrate_event,
80
+ noop,
80
81
  )
81
82
  from reflex.model import Model, get_db_status
82
83
  from reflex.page import DECORATED_PAGES
@@ -213,17 +214,21 @@ def default_overlay_component() -> Component:
213
214
  return Fragment.create(memo(default_overlay_components)())
214
215
 
215
216
 
216
- def default_error_boundary(*children: Component) -> Component:
217
+ def default_error_boundary(*children: Component, **props) -> Component:
217
218
  """Default error_boundary attribute for App.
218
219
 
219
220
  Args:
220
221
  *children: The children to render in the error boundary.
222
+ **props: The props to pass to the error boundary.
221
223
 
222
224
  Returns:
223
225
  The default error_boundary, which is an ErrorBoundary.
224
226
 
225
227
  """
226
- return ErrorBoundary.create(*children)
228
+ return ErrorBoundary.create(
229
+ *children,
230
+ **props,
231
+ )
227
232
 
228
233
 
229
234
  class OverlayFragment(Fragment):
@@ -332,6 +337,9 @@ class App(MiddlewareMixin, LifespanMixin):
332
337
  # A list of URLs to [stylesheets](https://reflex.dev/docs/styling/custom-stylesheets/) to include in the app.
333
338
  stylesheets: list[str] = dataclasses.field(default_factory=list)
334
339
 
340
+ # Whether to include CSS reset for margin and padding (defaults to True).
341
+ reset_style: bool = dataclasses.field(default=True)
342
+
335
343
  # A component that is present on every page (defaults to the Connection Error banner).
336
344
  overlay_component: Component | ComponentCallable | None = dataclasses.field(
337
345
  default=None
@@ -342,7 +350,9 @@ class App(MiddlewareMixin, LifespanMixin):
342
350
  dataclasses.field(
343
351
  default_factory=lambda: {
344
352
  (55, "ErrorBoundary"): (
345
- lambda stateful: default_error_boundary() if stateful else None
353
+ lambda stateful: default_error_boundary(
354
+ **({"on_error": noop()} if not stateful else {})
355
+ )
346
356
  ),
347
357
  (5, "Overlay"): (
348
358
  lambda stateful: default_overlay_component() if stateful else None
@@ -1358,7 +1368,9 @@ class App(MiddlewareMixin, LifespanMixin):
1358
1368
  )
1359
1369
 
1360
1370
  # Compile the root stylesheet with base styles.
1361
- _submit_work(compiler.compile_root_stylesheet, self.stylesheets)
1371
+ _submit_work(
1372
+ compiler.compile_root_stylesheet, self.stylesheets, self.reset_style
1373
+ )
1362
1374
 
1363
1375
  # Compile the theme.
1364
1376
  _submit_work(compile_theme, self.style)
@@ -19,7 +19,7 @@ from reflex.components.component import (
19
19
  StatefulComponent,
20
20
  )
21
21
  from reflex.config import get_config
22
- from reflex.constants.compiler import PageNames
22
+ from reflex.constants.compiler import PageNames, ResetStylesheet
23
23
  from reflex.constants.state import FIELD_MARKER
24
24
  from reflex.environment import environment
25
25
  from reflex.state import BaseState
@@ -171,18 +171,21 @@ def _compile_page(
171
171
  )
172
172
 
173
173
 
174
- def compile_root_stylesheet(stylesheets: list[str]) -> tuple[str, str]:
174
+ def compile_root_stylesheet(
175
+ stylesheets: list[str], reset_style: bool = True
176
+ ) -> tuple[str, str]:
175
177
  """Compile the root stylesheet.
176
178
 
177
179
  Args:
178
180
  stylesheets: The stylesheets to include in the root stylesheet.
181
+ reset_style: Whether to include CSS reset for margin and padding.
179
182
 
180
183
  Returns:
181
184
  The path and code of the compiled root stylesheet.
182
185
  """
183
186
  output_path = utils.get_root_stylesheet_path()
184
187
 
185
- code = _compile_root_stylesheet(stylesheets)
188
+ code = _compile_root_stylesheet(stylesheets, reset_style)
186
189
 
187
190
  return output_path, code
188
191
 
@@ -224,11 +227,12 @@ def _validate_stylesheet(stylesheet_full_path: Path, assets_app_path: Path) -> N
224
227
  RADIX_THEMES_STYLESHEET = "@radix-ui/themes/styles.css"
225
228
 
226
229
 
227
- def _compile_root_stylesheet(stylesheets: list[str]) -> str:
230
+ def _compile_root_stylesheet(stylesheets: list[str], reset_style: bool = True) -> str:
228
231
  """Compile the root stylesheet.
229
232
 
230
233
  Args:
231
234
  stylesheets: The stylesheets to include in the root stylesheet.
235
+ reset_style: Whether to include CSS reset for margin and padding.
232
236
 
233
237
  Returns:
234
238
  The compiled root stylesheet.
@@ -237,11 +241,21 @@ def _compile_root_stylesheet(stylesheets: list[str]) -> str:
237
241
  FileNotFoundError: If a specified stylesheet in assets directory does not exist.
238
242
  """
239
243
  # Add stylesheets from plugins.
240
- sheets = [RADIX_THEMES_STYLESHEET] + [
241
- sheet
242
- for plugin in get_config().plugins
243
- for sheet in plugin.get_stylesheet_paths()
244
- ]
244
+ sheets = []
245
+
246
+ # Add CSS reset if enabled
247
+ if reset_style:
248
+ # Reference the vendored style reset file (automatically copied from .templates/web)
249
+ sheets.append(f"./{ResetStylesheet.FILENAME}")
250
+
251
+ sheets.extend(
252
+ [RADIX_THEMES_STYLESHEET]
253
+ + [
254
+ sheet
255
+ for plugin in get_config().plugins
256
+ for sheet in plugin.get_stylesheet_paths()
257
+ ]
258
+ )
245
259
 
246
260
  failed_to_import_sass = False
247
261
  assets_app_path = Path.cwd() / constants.Dirs.APP_ASSETS
@@ -3,11 +3,11 @@
3
3
  # ------------------- DO NOT EDIT ----------------------
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
- import dataclasses
7
6
  from collections.abc import Mapping, Sequence
8
7
  from enum import Enum
9
8
  from typing import Any, Literal, TypedDict, overload
10
9
 
10
+ from reflex.base import Base
11
11
  from reflex.components.component import NoSSRComponent
12
12
  from reflex.components.core.breakpoints import Breakpoints
13
13
  from reflex.event import EventType, PointerEventInfo
@@ -43,8 +43,7 @@ class GridColumnIcons(Enum):
43
43
  Uri = "uri"
44
44
  VideoUri = "video_uri"
45
45
 
46
- @dataclasses.dataclass
47
- class DataEditorThemeBase:
46
+ class DataEditorTheme(Base):
48
47
  accent_color: str | None
49
48
  accent_fg: str | None
50
49
  accent_light: str | None
@@ -78,9 +77,6 @@ class DataEditorThemeBase:
78
77
  text_light: str | None
79
78
  text_medium: str | None
80
79
 
81
- @dataclasses.dataclass(init=False)
82
- class DataEditorTheme(DataEditorThemeBase): ...
83
-
84
80
  class Bounds(TypedDict):
85
81
  x: int
86
82
  y: int
@@ -3,10 +3,10 @@
3
3
  # ------------------- DO NOT EDIT ----------------------
4
4
  # This file was generated by `reflex/utils/pyi_generator.py`!
5
5
  # ------------------------------------------------------
6
- import dataclasses
7
6
  from collections.abc import Mapping, Sequence
8
7
  from typing import Any, Literal, overload
9
8
 
9
+ from reflex.base import Base
10
10
  from reflex.components.component import Component, ComponentNamespace
11
11
  from reflex.components.core.breakpoints import Breakpoints
12
12
  from reflex.components.lucide.icon import Icon
@@ -32,8 +32,7 @@ toast_ref = Var(
32
32
  _var_data=VarData(imports={f"$/{Dirs.STATE_PATH}": [ImportVar(tag="refs")]}),
33
33
  )
34
34
 
35
- @dataclasses.dataclass
36
- class ToastAction:
35
+ class ToastAction(Base):
37
36
  label: str
38
37
  on_click: Any
39
38
 
@@ -204,3 +204,10 @@ class SpecialAttributes(enum.Enum):
204
204
  True if the attribute is special.
205
205
  """
206
206
  return attr.startswith(SPECIAL_ATTRS)
207
+
208
+
209
+ class ResetStylesheet(SimpleNamespace):
210
+ """Constants for CSS reset stylesheet."""
211
+
212
+ # The filename of the CSS reset file.
213
+ FILENAME = "__reflex_style_reset.css"
@@ -130,6 +130,7 @@ class PackageJson(SimpleNamespace):
130
130
  "@react-router/node": cls._react_router_version,
131
131
  "serve": "14.2.4",
132
132
  "react": cls._react_version,
133
+ "react-helmet": "6.1.0",
133
134
  "react-dom": cls._react_version,
134
135
  "isbot": "5.1.26",
135
136
  "socket.io-client": "4.8.1",