reflex 0.4.6a4__tar.gz → 0.4.7__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 (526) hide show
  1. {reflex-0.4.6a4 → reflex-0.4.7}/PKG-INFO +15 -10
  2. {reflex-0.4.6a4 → reflex-0.4.7}/README.md +13 -9
  3. {reflex-0.4.6a4 → reflex-0.4.7}/pyproject.toml +1 -1
  4. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/blank/code/blank.py +1 -0
  5. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +1 -1
  6. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/custom_components/src.py.jinja2 +8 -8
  7. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -4
  8. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +2 -6
  9. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/web/utils/state.js +6 -1
  10. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/__init__.py +2 -0
  11. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/__init__.pyi +2 -0
  12. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/app.py +12 -16
  13. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/app.pyi +2 -0
  14. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/compiler/compiler.py +10 -11
  15. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/compiler/utils.py +3 -3
  16. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/pininput.py +2 -1
  17. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/component.py +71 -104
  18. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/banner.py +1 -1
  19. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/upload.py +2 -1
  20. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/datadisplay/__init__.py +1 -0
  21. reflex-0.4.7/reflex/components/datadisplay/logo.py +49 -0
  22. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/forms.py +7 -4
  23. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/forms.pyi +0 -1
  24. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/lucide/icon.py +3 -2
  25. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/lucide/icon.pyi +2 -2
  26. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/markdown/markdown.py +10 -6
  27. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/markdown/markdown.pyi +0 -3
  28. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/select.py +10 -3
  29. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/config.py +1 -1
  30. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/config.pyi +1 -1
  31. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/constants/base.py +4 -5
  32. reflex-0.4.7/reflex/constants/base.pyi +94 -0
  33. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/constants/compiler.py +8 -0
  34. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/custom_components/custom_components.py +33 -38
  35. reflex-0.4.7/reflex/experimental/__init__.py +14 -0
  36. reflex-0.4.7/reflex/experimental/hooks.py +75 -0
  37. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/page.py +1 -1
  38. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/reflex.py +18 -32
  39. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/style.py +4 -4
  40. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/testing.py +1 -1
  41. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/console.py +6 -4
  42. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/exec.py +17 -1
  43. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/export.py +0 -3
  44. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/prerequisites.py +243 -43
  45. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/processes.py +6 -1
  46. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/telemetry.py +14 -2
  47. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/types.py +3 -2
  48. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/vars.py +6 -6
  49. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/vars.pyi +2 -1
  50. reflex-0.4.6a4/reflex/.templates/apps/sidebar/README.md +0 -69
  51. reflex-0.4.6a4/reflex/.templates/apps/sidebar/assets/favicon.ico +0 -0
  52. reflex-0.4.6a4/reflex/.templates/apps/sidebar/assets/github.svg +0 -10
  53. reflex-0.4.6a4/reflex/.templates/apps/sidebar/assets/logo.svg +0 -68
  54. reflex-0.4.6a4/reflex/.templates/apps/sidebar/assets/paneleft.svg +0 -13
  55. reflex-0.4.6a4/reflex/.templates/apps/sidebar/assets/reflex_black.svg +0 -37
  56. reflex-0.4.6a4/reflex/.templates/apps/sidebar/assets/reflex_white.svg +0 -8
  57. reflex-0.4.6a4/reflex/.templates/apps/sidebar/code/__init__.py +0 -1
  58. reflex-0.4.6a4/reflex/.templates/apps/sidebar/code/components/__init__.py +0 -0
  59. reflex-0.4.6a4/reflex/.templates/apps/sidebar/code/components/sidebar.py +0 -152
  60. reflex-0.4.6a4/reflex/.templates/apps/sidebar/code/pages/__init__.py +0 -3
  61. reflex-0.4.6a4/reflex/.templates/apps/sidebar/code/pages/dashboard.py +0 -22
  62. reflex-0.4.6a4/reflex/.templates/apps/sidebar/code/pages/index.py +0 -18
  63. reflex-0.4.6a4/reflex/.templates/apps/sidebar/code/pages/settings.py +0 -61
  64. reflex-0.4.6a4/reflex/.templates/apps/sidebar/code/sidebar.py +0 -16
  65. reflex-0.4.6a4/reflex/.templates/apps/sidebar/code/styles.py +0 -60
  66. reflex-0.4.6a4/reflex/.templates/apps/sidebar/code/templates/__init__.py +0 -1
  67. reflex-0.4.6a4/reflex/.templates/apps/sidebar/code/templates/template.py +0 -145
  68. {reflex-0.4.6a4 → reflex-0.4.7}/LICENSE +0 -0
  69. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
  70. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/blank/code/__init__.py +0 -0
  71. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/.gitignore +0 -0
  72. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/assets/favicon.ico +0 -0
  73. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/assets/github.svg +0 -0
  74. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/assets/icon.svg +0 -0
  75. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/assets/logo.svg +0 -0
  76. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/assets/paneleft.svg +0 -0
  77. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/__init__.py +0 -0
  78. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/demo.py +0 -0
  79. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/pages/__init__.py +0 -0
  80. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/pages/chatapp.py +0 -0
  81. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/pages/datatable.py +0 -0
  82. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/pages/forms.py +0 -0
  83. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/pages/graphing.py +0 -0
  84. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/pages/home.py +0 -0
  85. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/sidebar.py +0 -0
  86. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/state.py +0 -0
  87. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/states/form_state.py +0 -0
  88. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/states/pie_state.py +0 -0
  89. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/styles.py +0 -0
  90. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
  91. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -0
  92. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/webui/components/chat.py +0 -0
  93. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/webui/components/loading_icon.py +0 -0
  94. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/webui/components/modal.py +0 -0
  95. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -0
  96. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -0
  97. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/webui/state.py +0 -0
  98. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/apps/demo/code/webui/styles.py +0 -0
  99. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
  100. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
  101. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
  102. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
  103. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
  104. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
  105. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
  106. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
  107. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
  108. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
  109. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
  110. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
  111. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
  112. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
  113. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
  114. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
  115. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/web/.gitignore +0 -0
  116. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -0
  117. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
  118. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/web/jsconfig.json +0 -0
  119. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/web/next.config.js +0 -0
  120. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/web/postcss.config.js +0 -0
  121. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/web/styles/tailwind.css +0 -0
  122. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/web/utils/client_side_routing.js +0 -0
  123. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
  124. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/.templates/web/utils/helpers/range.js +0 -0
  125. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/__main__.py +0 -0
  126. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/admin.py +0 -0
  127. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/app_module_for_backend.py +0 -0
  128. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/base.py +0 -0
  129. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/compiler/__init__.py +0 -0
  130. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/compiler/templates.py +0 -0
  131. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/__init__.py +0 -0
  132. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/__init__.py +0 -0
  133. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/app_wrap.py +0 -0
  134. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/app_wrap.pyi +0 -0
  135. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/bare.py +0 -0
  136. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/body.py +0 -0
  137. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/body.pyi +0 -0
  138. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/document.py +0 -0
  139. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/document.pyi +0 -0
  140. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/fragment.py +0 -0
  141. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/fragment.pyi +0 -0
  142. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/head.py +0 -0
  143. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/head.pyi +0 -0
  144. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/link.py +0 -0
  145. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/link.pyi +0 -0
  146. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/meta.py +0 -0
  147. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/meta.pyi +0 -0
  148. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/script.py +0 -0
  149. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/base/script.pyi +0 -0
  150. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/__init__.py +0 -0
  151. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/base.py +0 -0
  152. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/base.pyi +0 -0
  153. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/__init__.py +0 -0
  154. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/badge.py +0 -0
  155. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/badge.pyi +0 -0
  156. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/code.py +0 -0
  157. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/code.pyi +0 -0
  158. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/divider.py +0 -0
  159. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/divider.pyi +0 -0
  160. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/keyboard_key.py +0 -0
  161. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/keyboard_key.pyi +0 -0
  162. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/list.py +0 -0
  163. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/list.pyi +0 -0
  164. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/stat.py +0 -0
  165. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/stat.pyi +0 -0
  166. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/table.py +0 -0
  167. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/table.pyi +0 -0
  168. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/tag.py +0 -0
  169. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/datadisplay/tag.pyi +0 -0
  170. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/disclosure/__init__.py +0 -0
  171. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/disclosure/accordion.py +0 -0
  172. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/disclosure/accordion.pyi +0 -0
  173. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/disclosure/tabs.py +0 -0
  174. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/disclosure/tabs.pyi +0 -0
  175. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/disclosure/transition.py +0 -0
  176. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/disclosure/transition.pyi +0 -0
  177. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/disclosure/visuallyhidden.py +0 -0
  178. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/disclosure/visuallyhidden.pyi +0 -0
  179. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/feedback/__init__.py +0 -0
  180. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/feedback/alert.py +0 -0
  181. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/feedback/alert.pyi +0 -0
  182. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/feedback/circularprogress.py +0 -0
  183. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/feedback/circularprogress.pyi +0 -0
  184. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/feedback/progress.py +0 -0
  185. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/feedback/progress.pyi +0 -0
  186. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/feedback/skeleton.py +0 -0
  187. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/feedback/skeleton.pyi +0 -0
  188. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/feedback/spinner.py +0 -0
  189. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/feedback/spinner.pyi +0 -0
  190. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/__init__.py +0 -0
  191. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/button.py +0 -0
  192. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/button.pyi +0 -0
  193. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/checkbox.py +0 -0
  194. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/checkbox.pyi +0 -0
  195. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/colormodeswitch.py +0 -0
  196. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/colormodeswitch.pyi +0 -0
  197. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/date_picker.py +0 -0
  198. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/date_picker.pyi +0 -0
  199. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/date_time_picker.py +0 -0
  200. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/date_time_picker.pyi +0 -0
  201. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/editable.py +0 -0
  202. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/editable.pyi +0 -0
  203. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/email.py +0 -0
  204. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/email.pyi +0 -0
  205. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/form.py +0 -0
  206. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/form.pyi +0 -0
  207. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/iconbutton.py +0 -0
  208. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/iconbutton.pyi +0 -0
  209. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/input.py +0 -0
  210. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/input.pyi +0 -0
  211. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/multiselect.py +0 -0
  212. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/numberinput.py +0 -0
  213. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/numberinput.pyi +0 -0
  214. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/password.py +0 -0
  215. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/password.pyi +0 -0
  216. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/pininput.pyi +0 -0
  217. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/radio.py +0 -0
  218. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/radio.pyi +0 -0
  219. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/rangeslider.py +0 -0
  220. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/rangeslider.pyi +0 -0
  221. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/select.py +0 -0
  222. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/select.pyi +0 -0
  223. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/slider.py +0 -0
  224. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/slider.pyi +0 -0
  225. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/switch.py +0 -0
  226. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/switch.pyi +0 -0
  227. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/textarea.py +0 -0
  228. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/textarea.pyi +0 -0
  229. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/time_picker.py +0 -0
  230. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/forms/time_picker.pyi +0 -0
  231. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/__init__.py +0 -0
  232. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/aspect_ratio.py +0 -0
  233. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/aspect_ratio.pyi +0 -0
  234. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/box.py +0 -0
  235. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/box.pyi +0 -0
  236. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/card.py +0 -0
  237. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/card.pyi +0 -0
  238. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/center.py +0 -0
  239. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/center.pyi +0 -0
  240. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/container.py +0 -0
  241. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/container.pyi +0 -0
  242. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/flex.py +0 -0
  243. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/flex.pyi +0 -0
  244. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/grid.py +0 -0
  245. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/grid.pyi +0 -0
  246. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/spacer.py +0 -0
  247. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/spacer.pyi +0 -0
  248. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/stack.py +0 -0
  249. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/stack.pyi +0 -0
  250. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/wrap.py +0 -0
  251. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/layout/wrap.pyi +0 -0
  252. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/media/__init__.py +0 -0
  253. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/media/avatar.py +0 -0
  254. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/media/avatar.pyi +0 -0
  255. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/media/icon.py +0 -0
  256. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/media/icon.pyi +0 -0
  257. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/media/image.py +0 -0
  258. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/media/image.pyi +0 -0
  259. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/navigation/__init__.py +0 -0
  260. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/navigation/breadcrumb.py +0 -0
  261. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/navigation/breadcrumb.pyi +0 -0
  262. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/navigation/link.py +0 -0
  263. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/navigation/link.pyi +0 -0
  264. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/navigation/linkoverlay.py +0 -0
  265. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/navigation/linkoverlay.pyi +0 -0
  266. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/navigation/stepper.py +0 -0
  267. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/navigation/stepper.pyi +0 -0
  268. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/__init__.py +0 -0
  269. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/alertdialog.py +0 -0
  270. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/alertdialog.pyi +0 -0
  271. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/drawer.py +0 -0
  272. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/drawer.pyi +0 -0
  273. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/menu.py +0 -0
  274. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/menu.pyi +0 -0
  275. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/modal.py +0 -0
  276. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/modal.pyi +0 -0
  277. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/popover.py +0 -0
  278. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/popover.pyi +0 -0
  279. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/tooltip.py +0 -0
  280. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/overlay/tooltip.pyi +0 -0
  281. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/typography/__init__.py +0 -0
  282. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/typography/heading.py +0 -0
  283. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/typography/heading.pyi +0 -0
  284. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/typography/highlight.py +0 -0
  285. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/typography/highlight.pyi +0 -0
  286. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/typography/span.py +0 -0
  287. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/typography/span.pyi +0 -0
  288. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/typography/text.py +0 -0
  289. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/chakra/typography/text.pyi +0 -0
  290. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/__init__.py +0 -0
  291. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/banner.pyi +0 -0
  292. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/client_side_routing.py +0 -0
  293. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/client_side_routing.pyi +0 -0
  294. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/colors.py +0 -0
  295. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/cond.py +0 -0
  296. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/debounce.py +0 -0
  297. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/debounce.pyi +0 -0
  298. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/foreach.py +0 -0
  299. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/html.py +0 -0
  300. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/html.pyi +0 -0
  301. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/layout/__init__.py +0 -0
  302. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/match.py +0 -0
  303. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/responsive.py +0 -0
  304. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/core/upload.pyi +0 -0
  305. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/datadisplay/code.py +0 -0
  306. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/datadisplay/code.pyi +0 -0
  307. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/datadisplay/dataeditor.py +0 -0
  308. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/datadisplay/dataeditor.pyi +0 -0
  309. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/__init__.py +0 -0
  310. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/constants/__init__.py +0 -0
  311. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/constants/html.py +0 -0
  312. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/constants/react.py +0 -0
  313. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/constants/reflex.py +0 -0
  314. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/element.py +0 -0
  315. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/element.pyi +0 -0
  316. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/__init__.py +0 -0
  317. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/base.py +0 -0
  318. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/base.pyi +0 -0
  319. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/inline.py +0 -0
  320. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/inline.pyi +0 -0
  321. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/media.py +0 -0
  322. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/media.pyi +0 -0
  323. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/metadata.py +0 -0
  324. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/metadata.pyi +0 -0
  325. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/other.py +0 -0
  326. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/other.pyi +0 -0
  327. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/scripts.py +0 -0
  328. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/scripts.pyi +0 -0
  329. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/sectioning.py +0 -0
  330. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/sectioning.pyi +0 -0
  331. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/tables.py +0 -0
  332. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/tables.pyi +0 -0
  333. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/typography.py +0 -0
  334. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/el/elements/typography.pyi +0 -0
  335. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/gridjs/__init__.py +0 -0
  336. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/gridjs/datatable.py +0 -0
  337. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/gridjs/datatable.pyi +0 -0
  338. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/literals.py +0 -0
  339. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/lucide/__init__.py +0 -0
  340. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/markdown/__init__.py +0 -0
  341. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/media/__init__.py +0 -0
  342. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/media/icon.py +0 -0
  343. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/moment/__init__.py +0 -0
  344. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/moment/moment.py +0 -0
  345. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/moment/moment.pyi +0 -0
  346. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/next/__init__.py +0 -0
  347. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/next/base.py +0 -0
  348. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/next/base.pyi +0 -0
  349. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/next/image.py +0 -0
  350. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/next/image.pyi +0 -0
  351. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/next/link.py +0 -0
  352. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/next/link.pyi +0 -0
  353. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/next/video.py +0 -0
  354. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/next/video.pyi +0 -0
  355. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/plotly/__init__.py +0 -0
  356. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/plotly/plotly.py +0 -0
  357. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/plotly/plotly.pyi +0 -0
  358. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/__init__.py +0 -0
  359. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/__init__.py +0 -0
  360. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/accordion.py +0 -0
  361. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/accordion.pyi +0 -0
  362. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/base.py +0 -0
  363. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/base.pyi +0 -0
  364. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/drawer.py +0 -0
  365. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/drawer.pyi +0 -0
  366. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/form.py +0 -0
  367. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/form.pyi +0 -0
  368. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/progress.py +0 -0
  369. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/progress.pyi +0 -0
  370. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/slider.py +0 -0
  371. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/primitives/slider.pyi +0 -0
  372. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/__init__.py +0 -0
  373. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/base.py +0 -0
  374. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/base.pyi +0 -0
  375. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/color_mode.py +0 -0
  376. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/color_mode.pyi +0 -0
  377. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/__init__.py +0 -0
  378. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
  379. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
  380. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/alertdialog.pyi +0 -0
  381. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
  382. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
  383. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/aspectratio.pyi +0 -0
  384. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/avatar.py +0 -0
  385. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/avatar.pyi +0 -0
  386. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/badge.py +0 -0
  387. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/badge.pyi +0 -0
  388. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/button.py +0 -0
  389. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/button.pyi +0 -0
  390. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/callout.py +0 -0
  391. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/callout.pyi +0 -0
  392. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/card.py +0 -0
  393. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/card.pyi +0 -0
  394. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/checkbox.py +0 -0
  395. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
  396. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/context_menu.py +0 -0
  397. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
  398. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/contextmenu.pyi +0 -0
  399. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/dialog.py +0 -0
  400. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/dialog.pyi +0 -0
  401. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
  402. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
  403. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/dropdownmenu.pyi +0 -0
  404. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/hover_card.py +0 -0
  405. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
  406. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/hovercard.pyi +0 -0
  407. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/icon_button.py +0 -0
  408. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
  409. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/iconbutton.pyi +0 -0
  410. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/inset.py +0 -0
  411. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/inset.pyi +0 -0
  412. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/popover.py +0 -0
  413. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/popover.pyi +0 -0
  414. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/radio_group.py +0 -0
  415. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
  416. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/radiogroup.pyi +0 -0
  417. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/scroll_area.py +0 -0
  418. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
  419. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/scrollarea.pyi +0 -0
  420. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/select.pyi +0 -0
  421. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/separator.py +0 -0
  422. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/separator.pyi +0 -0
  423. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/slider.py +0 -0
  424. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/slider.pyi +0 -0
  425. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/switch.py +0 -0
  426. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/switch.pyi +0 -0
  427. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/table.py +0 -0
  428. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/table.pyi +0 -0
  429. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/tabs.py +0 -0
  430. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/tabs.pyi +0 -0
  431. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/text_area.py +0 -0
  432. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/text_area.pyi +0 -0
  433. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/text_field.py +0 -0
  434. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/text_field.pyi +0 -0
  435. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/textfield.pyi +0 -0
  436. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/tooltip.py +0 -0
  437. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
  438. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/__init__.py +0 -0
  439. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/base.py +0 -0
  440. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/base.pyi +0 -0
  441. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/box.py +0 -0
  442. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/box.pyi +0 -0
  443. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/center.py +0 -0
  444. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/center.pyi +0 -0
  445. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/container.py +0 -0
  446. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/container.pyi +0 -0
  447. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/flex.py +0 -0
  448. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/flex.pyi +0 -0
  449. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/grid.py +0 -0
  450. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/grid.pyi +0 -0
  451. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/list.py +0 -0
  452. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/list.pyi +0 -0
  453. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/section.py +0 -0
  454. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/section.pyi +0 -0
  455. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/spacer.py +0 -0
  456. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
  457. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/stack.py +0 -0
  458. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/layout/stack.pyi +0 -0
  459. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/__init__.py +0 -0
  460. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/base.py +0 -0
  461. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/blockquote.py +0 -0
  462. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
  463. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/code.py +0 -0
  464. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/code.pyi +0 -0
  465. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/em.pyi +0 -0
  466. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/heading.py +0 -0
  467. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/heading.pyi +0 -0
  468. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/kbd.pyi +0 -0
  469. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/link.py +0 -0
  470. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/link.pyi +0 -0
  471. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/quote.pyi +0 -0
  472. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/strong.pyi +0 -0
  473. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/text.py +0 -0
  474. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/radix/themes/typography/text.pyi +0 -0
  475. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/react_player/__init__.py +0 -0
  476. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/react_player/audio.py +0 -0
  477. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/react_player/audio.pyi +0 -0
  478. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/react_player/react_player.py +0 -0
  479. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/react_player/react_player.pyi +0 -0
  480. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/react_player/video.py +0 -0
  481. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/react_player/video.pyi +0 -0
  482. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/recharts/__init__.py +0 -0
  483. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/recharts/cartesian.py +0 -0
  484. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/recharts/cartesian.pyi +0 -0
  485. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/recharts/charts.py +0 -0
  486. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/recharts/charts.pyi +0 -0
  487. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/recharts/general.py +0 -0
  488. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/recharts/general.pyi +0 -0
  489. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/recharts/polar.py +0 -0
  490. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/recharts/polar.pyi +0 -0
  491. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/recharts/recharts.py +0 -0
  492. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/recharts/recharts.pyi +0 -0
  493. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/suneditor/__init__.py +0 -0
  494. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/suneditor/editor.py +0 -0
  495. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/suneditor/editor.pyi +0 -0
  496. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/tags/__init__.py +0 -0
  497. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/tags/cond_tag.py +0 -0
  498. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/tags/iter_tag.py +0 -0
  499. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/tags/match_tag.py +0 -0
  500. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/tags/tag.py +0 -0
  501. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/components/tags/tagless.py +0 -0
  502. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/constants/__init__.py +0 -0
  503. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/constants/colors.py +0 -0
  504. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/constants/config.py +0 -0
  505. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/constants/custom_components.py +0 -0
  506. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/constants/event.py +0 -0
  507. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/constants/installer.py +0 -0
  508. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/constants/route.py +0 -0
  509. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/constants/style.py +0 -0
  510. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/custom_components/__init__.py +0 -0
  511. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/event.py +0 -0
  512. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/middleware/__init__.py +0 -0
  513. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/middleware/hydrate_middleware.py +0 -0
  514. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/middleware/middleware.py +0 -0
  515. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/model.py +0 -0
  516. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/route.py +0 -0
  517. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/state.py +0 -0
  518. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/__init__.py +0 -0
  519. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/build.py +0 -0
  520. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/exceptions.py +0 -0
  521. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/format.py +0 -0
  522. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/imports.py +0 -0
  523. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/path_ops.py +0 -0
  524. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/pyi_generator.py +0 -0
  525. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/serializers.py +0 -0
  526. {reflex-0.4.6a4 → reflex-0.4.7}/reflex/utils/watch.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reflex
3
- Version: 0.4.6a4
3
+ Version: 0.4.7
4
4
  Summary: Web apps in pure Python.
5
5
  Home-page: https://reflex.dev
6
6
  License: Apache-2.0
@@ -15,6 +15,7 @@ Classifier: Programming Language :: Python :: 3.8
15
15
  Classifier: Programming Language :: Python :: 3.9
16
16
  Classifier: Programming Language :: Python :: 3.10
17
17
  Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
18
19
  Requires-Dist: alembic (>=1.11.1,<2.0)
19
20
  Requires-Dist: build (>=1.0.3,<2.0)
20
21
  Requires-Dist: charset-normalizer (>=3.3.2,<4.0)
@@ -74,6 +75,18 @@ Description-Content-Type: text/markdown
74
75
  [English](https://github.com/reflex-dev/reflex/blob/main/README.md) | [简体中文](https://github.com/reflex-dev/reflex/blob/main/docs/zh/zh_cn/README.md) | [繁體中文](https://github.com/reflex-dev/reflex/blob/main/docs/zh/zh_tw/README.md) | [Türkçe](https://github.com/reflex-dev/reflex/blob/main/docs/tr/README.md) | [हिंदी](https://github.com/reflex-dev/reflex/blob/main/docs/in/README.md) | [Português (Brasil)](https://github.com/reflex-dev/reflex/blob/main/docs/pt/pt_br/README.md) | [Italiano](https://github.com/reflex-dev/reflex/blob/main/docs/it/README.md) | [Español](https://github.com/reflex-dev/reflex/blob/main/docs/es/README.md) | [한국어](https://github.com/reflex-dev/reflex/blob/main/docs/kr/README.md)
75
76
 
76
77
  ---
78
+
79
+ # Reflex
80
+
81
+ Reflex is a library to build full-stack web apps in pure Python.
82
+
83
+ Key features:
84
+ * **Pure Python** - Write your app's frontend and backend all in Python, no need to learn Javascript.
85
+ * **Full Flexibility** - Reflex is easy to get started with, but can also scale to complex apps.
86
+ * **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.
87
+
88
+ See our [architecture page](https://reflex.dev/blog/2024-03-21-reflex-architecture/#the-reflex-architecture) to learn how Reflex works under the hood.
89
+
77
90
  ## ⚙️ Installation
78
91
 
79
92
  Open a terminal and run (Requires Python 3.8+):
@@ -263,19 +276,11 @@ You can create a multi-page app by adding more pages.
263
276
  </div>
264
277
 
265
278
 
266
-
267
-
268
-
269
279
  ## ✅ Status
270
280
 
271
281
  Reflex launched in December 2022 with the name Pynecone.
272
282
 
273
- As of July 2023, we are in the **Public Beta** stage.
274
-
275
- - :white_check_mark: **Public Alpha**: Anyone can install and use Reflex. There may be issues, but we are working to resolve them actively.
276
- - :large_orange_diamond: **Public Beta**: Stable enough for non-enterprise use-cases.
277
- - **Public Hosting Beta**: _Optionally_, deploy and host your apps on Reflex!
278
- - **Public**: Reflex is production ready.
283
+ As of February 2024, our hosting service is in alpha! During this time anyone can deploy their apps for free. See our [roadmap](https://github.com/reflex-dev/reflex/issues/2727) to see what's planned.
279
284
 
280
285
  Reflex has new releases and features coming every week! Make sure to :star: star and :eyes: watch this repository to stay up to date.
281
286
 
@@ -21,6 +21,18 @@
21
21
  [English](https://github.com/reflex-dev/reflex/blob/main/README.md) | [简体中文](https://github.com/reflex-dev/reflex/blob/main/docs/zh/zh_cn/README.md) | [繁體中文](https://github.com/reflex-dev/reflex/blob/main/docs/zh/zh_tw/README.md) | [Türkçe](https://github.com/reflex-dev/reflex/blob/main/docs/tr/README.md) | [हिंदी](https://github.com/reflex-dev/reflex/blob/main/docs/in/README.md) | [Português (Brasil)](https://github.com/reflex-dev/reflex/blob/main/docs/pt/pt_br/README.md) | [Italiano](https://github.com/reflex-dev/reflex/blob/main/docs/it/README.md) | [Español](https://github.com/reflex-dev/reflex/blob/main/docs/es/README.md) | [한국어](https://github.com/reflex-dev/reflex/blob/main/docs/kr/README.md)
22
22
 
23
23
  ---
24
+
25
+ # Reflex
26
+
27
+ Reflex is a library to build full-stack web apps in pure Python.
28
+
29
+ Key features:
30
+ * **Pure Python** - Write your app's frontend and backend all in Python, no need to learn Javascript.
31
+ * **Full Flexibility** - Reflex is easy to get started with, but can also scale to complex apps.
32
+ * **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.
33
+
34
+ See our [architecture page](https://reflex.dev/blog/2024-03-21-reflex-architecture/#the-reflex-architecture) to learn how Reflex works under the hood.
35
+
24
36
  ## ⚙️ Installation
25
37
 
26
38
  Open a terminal and run (Requires Python 3.8+):
@@ -210,19 +222,11 @@ You can create a multi-page app by adding more pages.
210
222
  </div>
211
223
 
212
224
 
213
-
214
-
215
-
216
225
  ## ✅ Status
217
226
 
218
227
  Reflex launched in December 2022 with the name Pynecone.
219
228
 
220
- As of July 2023, we are in the **Public Beta** stage.
221
-
222
- - :white_check_mark: **Public Alpha**: Anyone can install and use Reflex. There may be issues, but we are working to resolve them actively.
223
- - :large_orange_diamond: **Public Beta**: Stable enough for non-enterprise use-cases.
224
- - **Public Hosting Beta**: _Optionally_, deploy and host your apps on Reflex!
225
- - **Public**: Reflex is production ready.
229
+ As of February 2024, our hosting service is in alpha! During this time anyone can deploy their apps for free. See our [roadmap](https://github.com/reflex-dev/reflex/issues/2727) to see what's planned.
226
230
 
227
231
  Reflex has new releases and features coming every week! Make sure to :star: star and :eyes: watch this repository to stay up to date.
228
232
 
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "reflex"
3
- version = "0.4.6a4"
3
+ version = "0.4.7"
4
4
  description = "Web apps in pure Python."
5
5
  license = "Apache-2.0"
6
6
  authors = [
@@ -23,6 +23,7 @@ def index() -> rx.Component:
23
23
  on_click=lambda: rx.redirect(docs_url),
24
24
  size="4",
25
25
  ),
26
+ rx.logo(),
26
27
  align="center",
27
28
  spacing="7",
28
29
  font_size="2em",
@@ -10,7 +10,7 @@ readme = "README.md"
10
10
  license = { text = "Apache-2.0" }
11
11
  requires-python = ">=3.8"
12
12
  authors = [{ name = "", email = "YOUREMAIL@domain.com" }]
13
- keywords = ["reflex", "reflex-custom-components"]
13
+ keywords = ["reflex","reflex-custom-components"]
14
14
 
15
15
  dependencies = ["reflex>=0.4.2"]
16
16
 
@@ -4,9 +4,9 @@
4
4
 
5
5
  import reflex as rx
6
6
 
7
- # Some libraries you may want to wrap may require dynamic imports.
7
+ # Some libraries you want to wrap may require dynamic imports.
8
8
  # This is because they they may not be compatible with Server-Side Rendering (SSR).
9
- # To handle this in Reflex all you need to do is subclass NoSSRComponent instead.
9
+ # To handle this in Reflex, all you need to do is subclass `NoSSRComponent` instead.
10
10
  # For example:
11
11
  # from reflex.components.component import NoSSRComponent
12
12
  # class {{ component_class_name }}(NoSSRComponent):
@@ -42,12 +42,12 @@ class {{ component_class_name }}(rx.Component):
42
42
  # In this case you can use the lib_dependencies property to specify other libraries to install.
43
43
  # lib_dependencies: list[str] = []
44
44
 
45
- # Event triggers, I did not understand the wording of the doc.
46
- # def get_event_triggers(self) -> dict[str, Any]:
47
- # return {
48
- # **super().get_event_triggers(),
49
- # "on_change": lambda e0: [e0],
50
- # }
45
+ # Event triggers declaration if any.
46
+ # Below is equivalent to merging `{ "on_change": lambda e: [e] }`
47
+ # onto the default event triggers of parent/base Component.
48
+ # The function defined for the `on_change` trigger maps event for the javascript
49
+ # trigger to what will be passed to the backend event handler function.
50
+ # on_change: rx.EventHandler[lambda e: [e]]
51
51
 
52
52
  # To add custom code to your component
53
53
  # def _get_custom_code(self) -> str:
@@ -8,10 +8,6 @@
8
8
 
9
9
  {% block export %}
10
10
  export default function Component() {
11
- {% for ref_hook in ref_hooks %}
12
- {{ ref_hook }}
13
- {% endfor %}
14
-
15
11
  {% for hook in hooks %}
16
12
  {{ hook }}
17
13
  {% endfor %}
@@ -1,11 +1,7 @@
1
1
  {% import 'web/pages/utils.js.jinja2' as utils %}
2
2
 
3
3
  export function {{tag_name}} () {
4
- {% for ref_hook in component.get_ref_hooks() %}
5
- {{ ref_hook }}
6
- {% endfor %}
7
-
8
- {% for hook in component.get_hooks_internal() %}
4
+ {% for hook in component._get_all_hooks_internal() %}
9
5
  {{ hook }}
10
6
  {% endfor %}
11
7
 
@@ -13,7 +9,7 @@ export function {{tag_name}} () {
13
9
  {{ hook }}
14
10
  {% endfor %}
15
11
 
16
- {% for hook in component.get_hooks() %}
12
+ {% for hook in component._get_all_hooks() %}
17
13
  {{ hook }}
18
14
  {% endfor %}
19
15
 
@@ -646,7 +646,12 @@ export const useEventLoop = (
646
646
 
647
647
  // Route after the initial page hydration.
648
648
  useEffect(() => {
649
- const change_start = () => dispatch["state"]({is_hydrated: false})
649
+ const change_start = () => {
650
+ const main_state_dispatch = dispatch["state"]
651
+ if (main_state_dispatch !== undefined) {
652
+ main_state_dispatch({is_hydrated: false})
653
+ }
654
+ }
650
655
  const change_complete = () => addEvents(onLoadInternalEvent());
651
656
  router.events.on("routeChangeStart", change_start);
652
657
  router.events.on("routeChangeComplete", change_complete);
@@ -109,9 +109,11 @@ _ALL_COMPONENTS = [
109
109
  "unordered_list",
110
110
  "ordered_list",
111
111
  "moment",
112
+ "logo",
112
113
  ]
113
114
 
114
115
  _MAPPING = {
116
+ "reflex.experimental": ["_x"],
115
117
  "reflex.admin": ["admin", "AdminDash"],
116
118
  "reflex.app": ["app", "App", "UploadFile"],
117
119
  "reflex.base": ["base", "Base"],
@@ -1,3 +1,4 @@
1
+ from reflex.experimental import _x as _x
1
2
  from reflex import admin as admin
2
3
  from reflex.admin import AdminDash as AdminDash
3
4
  from reflex import app as app
@@ -95,6 +96,7 @@ from reflex.components import list_item as list_item
95
96
  from reflex.components import unordered_list as unordered_list
96
97
  from reflex.components import ordered_list as ordered_list
97
98
  from reflex.components import moment as moment
99
+ from reflex.components import logo as logo
98
100
  from reflex.components.component import Component as Component
99
101
  from reflex.components.component import NoSSRComponent as NoSSRComponent
100
102
  from reflex.components.component import memo as memo
@@ -214,12 +214,7 @@ class App(Base):
214
214
  self.setup_state()
215
215
 
216
216
  def setup_state(self) -> None:
217
- """Set up the state for the app.
218
-
219
- Raises:
220
- ValueError: If the event namespace is not provided in the config.
221
- If the state has not been enabled.
222
- """
217
+ """Set up the state for the app."""
223
218
  if not self.state:
224
219
  return
225
220
 
@@ -246,9 +241,6 @@ class App(Base):
246
241
  self.socket_app = ASGIApp(self.sio, socketio_path="")
247
242
  namespace = config.get_event_namespace()
248
243
 
249
- if not namespace:
250
- raise ValueError("event namespace must be provided in the config.")
251
-
252
244
  # Create the event namespace and attach the main app. Not related to any paths.
253
245
  self.event_namespace = EventNamespace(namespace, self)
254
246
 
@@ -457,6 +449,10 @@ class App(Base):
457
449
  # Generate the component if it is a callable.
458
450
  component = self._generate_component(component)
459
451
 
452
+ # unpack components that return tuples in an rx.fragment.
453
+ if isinstance(component, tuple):
454
+ component = Fragment.create(*component)
455
+
460
456
  # Ensure state is enabled if this page uses state.
461
457
  if self.state is None:
462
458
  if on_load or component._has_event_triggers():
@@ -657,7 +653,7 @@ class App(Base):
657
653
 
658
654
  def _app_root(self, app_wrappers: dict[tuple[int, str], Component]) -> Component:
659
655
  for component in tuple(app_wrappers.values()):
660
- app_wrappers.update(component.get_app_wrap_components())
656
+ app_wrappers.update(component._get_all_app_wrap_components())
661
657
  order = sorted(app_wrappers, key=lambda k: k[0], reverse=True)
662
658
  root = parent = copy.deepcopy(app_wrappers[order[0]])
663
659
  for key in order[1:]:
@@ -795,18 +791,18 @@ class App(Base):
795
791
 
796
792
  for _route, component in self.pages.items():
797
793
  # Merge the component style with the app style.
798
- component.add_style(self.style)
794
+ component._add_style_recursive(self.style)
799
795
 
800
796
  component.apply_theme(self.theme)
801
797
 
802
- # Add component.get_imports() to all_imports.
803
- all_imports.update(component.get_imports())
798
+ # Add component._get_all_imports() to all_imports.
799
+ all_imports.update(component._get_all_imports())
804
800
 
805
801
  # Add the app wrappers from this component.
806
- app_wrappers.update(component.get_app_wrap_components())
802
+ app_wrappers.update(component._get_all_app_wrap_components())
807
803
 
808
804
  # Add the custom components from the page to the set.
809
- custom_components |= component.get_custom_components()
805
+ custom_components |= component._get_all_custom_components()
810
806
 
811
807
  progress.advance(task)
812
808
 
@@ -928,7 +924,7 @@ class App(Base):
928
924
  all_imports.update(custom_components_imports)
929
925
 
930
926
  # Get imports from AppWrap components.
931
- all_imports.update(app_root.get_imports())
927
+ all_imports.update(app_root._get_all_imports())
932
928
 
933
929
  progress.advance(task)
934
930
 
@@ -94,7 +94,9 @@ class App(Base):
94
94
  **kwargs
95
95
  ) -> None: ...
96
96
  def __call__(self) -> FastAPI: ...
97
+ def enable_state(self) -> None: ...
97
98
  def add_default_endpoints(self) -> None: ...
99
+ def add_optional_endpoints(self): ...
98
100
  def add_cors(self) -> None: ...
99
101
  async def preprocess(self, state: State, event: Event) -> StateUpdate | None: ...
100
102
  async def postprocess(
@@ -33,7 +33,7 @@ def _compile_document_root(root: Component) -> str:
33
33
  The compiled document root.
34
34
  """
35
35
  return templates.DOCUMENT_ROOT.render(
36
- imports=utils.compile_imports(root.get_imports()),
36
+ imports=utils.compile_imports(root._get_all_imports()),
37
37
  document=root.render(),
38
38
  )
39
39
 
@@ -48,9 +48,9 @@ def _compile_app(app_root: Component) -> str:
48
48
  The compiled app.
49
49
  """
50
50
  return templates.APP_ROOT.render(
51
- imports=utils.compile_imports(app_root.get_imports()),
52
- custom_codes=app_root.get_custom_code(),
53
- hooks=app_root.get_hooks_internal() | app_root.get_hooks(),
51
+ imports=utils.compile_imports(app_root._get_all_imports()),
52
+ custom_codes=app_root._get_all_custom_code(),
53
+ hooks={**app_root._get_all_hooks_internal(), **app_root._get_all_hooks()},
54
54
  render=app_root.render(),
55
55
  )
56
56
 
@@ -109,7 +109,7 @@ def _compile_page(
109
109
  Returns:
110
110
  The compiled component.
111
111
  """
112
- imports = component.get_imports()
112
+ imports = component._get_all_imports()
113
113
  imports = utils.compile_imports(imports)
114
114
 
115
115
  # Compile the code to render the component.
@@ -117,10 +117,9 @@ def _compile_page(
117
117
 
118
118
  return templates.PAGE.render(
119
119
  imports=imports,
120
- dynamic_imports=component.get_dynamic_imports(),
121
- custom_codes=component.get_custom_code(),
122
- ref_hooks=component.get_ref_hooks(),
123
- hooks=component.get_hooks_internal() | component.get_hooks(),
120
+ dynamic_imports=component._get_all_dynamic_imports(),
121
+ custom_codes=component._get_all_custom_code(),
122
+ hooks={**component._get_all_hooks_internal(), **component._get_all_hooks()},
124
123
  render=component.render(),
125
124
  **kwargs,
126
125
  )
@@ -265,9 +264,9 @@ def _compile_stateful_components(
265
264
  component.rendered_as_shared = False
266
265
 
267
266
  rendered_components.update(
268
- {code: None for code in component.get_custom_code()},
267
+ {code: None for code in component._get_all_custom_code()},
269
268
  )
270
- all_import_dicts.append(component.get_imports())
269
+ all_import_dicts.append(component._get_all_imports())
271
270
 
272
271
  # Indicate that this component now imports from the shared file.
273
272
  component.rendered_as_shared = True
@@ -252,7 +252,7 @@ def compile_custom_component(
252
252
  # Get the imports.
253
253
  imports = {
254
254
  lib: fields
255
- for lib, fields in render.get_imports().items()
255
+ for lib, fields in render._get_all_imports().items()
256
256
  if lib != component.library
257
257
  }
258
258
 
@@ -265,8 +265,8 @@ def compile_custom_component(
265
265
  "name": component.tag,
266
266
  "props": props,
267
267
  "render": render.render(),
268
- "hooks": render.get_hooks_internal() | render.get_hooks(),
269
- "custom_code": render.get_custom_code(),
268
+ "hooks": {**render._get_all_hooks_internal(), **render._get_all_hooks()},
269
+ "custom_code": render._get_all_custom_code(),
270
270
  },
271
271
  imports,
272
272
  )
@@ -1,4 +1,5 @@
1
1
  """A pin input component."""
2
+
2
3
  from __future__ import annotations
3
4
 
4
5
  from typing import Any, Optional, Union
@@ -71,7 +72,7 @@ class PinInput(ChakraComponent):
71
72
  range_var = Var.range(0)
72
73
  return merge_imports(
73
74
  super()._get_imports(),
74
- PinInputField().get_imports(), # type: ignore
75
+ PinInputField()._get_all_imports(), # type: ignore
75
76
  range_var._var_data.imports if range_var._var_data is not None else {},
76
77
  )
77
78