reflex 0.5.0__tar.gz → 0.5.0a1__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 (521) hide show
  1. {reflex-0.5.0 → reflex-0.5.0a1}/PKG-INFO +1 -1
  2. {reflex-0.5.0 → reflex-0.5.0a1}/pyproject.toml +1 -1
  3. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/demo.py +1 -1
  4. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -12
  5. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/component.py +5 -1
  6. reflex-0.5.0a1/reflex/components/core/foreach.py +104 -0
  7. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/accordion.py +94 -128
  8. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/accordion.pyi +12 -25
  9. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/form.py +1 -1
  10. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/color_mode.py +1 -25
  11. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/color_mode.pyi +1 -178
  12. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/custom_components/custom_components.py +1 -2
  13. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/style.py +2 -5
  14. reflex-0.5.0/reflex/components/core/foreach.py +0 -130
  15. {reflex-0.5.0 → reflex-0.5.0a1}/LICENSE +0 -0
  16. {reflex-0.5.0 → reflex-0.5.0a1}/README.md +0 -0
  17. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
  18. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/blank/code/__init__.py +0 -0
  19. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/blank/code/blank.py +0 -0
  20. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/.gitignore +0 -0
  21. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/assets/favicon.ico +0 -0
  22. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/assets/github.svg +0 -0
  23. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/assets/icon.svg +0 -0
  24. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/assets/logo.svg +0 -0
  25. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/assets/paneleft.svg +0 -0
  26. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/__init__.py +0 -0
  27. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/pages/__init__.py +0 -0
  28. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/pages/chatapp.py +0 -0
  29. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/pages/datatable.py +0 -0
  30. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/pages/forms.py +0 -0
  31. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/pages/graphing.py +0 -0
  32. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/pages/home.py +0 -0
  33. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/sidebar.py +0 -0
  34. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/state.py +0 -0
  35. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/states/form_state.py +0 -0
  36. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/states/pie_state.py +0 -0
  37. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/styles.py +0 -0
  38. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
  39. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -0
  40. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/webui/components/chat.py +0 -0
  41. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/webui/components/loading_icon.py +0 -0
  42. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/webui/components/modal.py +0 -0
  43. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -0
  44. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -0
  45. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/webui/state.py +0 -0
  46. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/apps/demo/code/webui/styles.py +0 -0
  47. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
  48. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
  49. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
  50. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
  51. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
  52. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
  53. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
  54. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
  55. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
  56. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
  57. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
  58. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
  59. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
  60. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
  61. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
  62. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
  63. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
  64. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
  65. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
  66. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/.gitignore +0 -0
  67. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -0
  68. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
  69. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/jsconfig.json +0 -0
  70. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/next.config.js +0 -0
  71. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/postcss.config.js +0 -0
  72. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/styles/tailwind.css +0 -0
  73. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/utils/client_side_routing.js +0 -0
  74. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
  75. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
  76. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/utils/helpers/range.js +0 -0
  77. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
  78. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/.templates/web/utils/state.js +0 -0
  79. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/__init__.py +0 -0
  80. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/__init__.pyi +0 -0
  81. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/__main__.py +0 -0
  82. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/admin.py +0 -0
  83. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/app.py +0 -0
  84. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/app_module_for_backend.py +0 -0
  85. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/base.py +0 -0
  86. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/compiler/__init__.py +0 -0
  87. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/compiler/compiler.py +0 -0
  88. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/compiler/templates.py +0 -0
  89. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/compiler/utils.py +0 -0
  90. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/__init__.py +0 -0
  91. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/__init__.py +0 -0
  92. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/app_wrap.py +0 -0
  93. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/app_wrap.pyi +0 -0
  94. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/bare.py +0 -0
  95. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/body.py +0 -0
  96. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/body.pyi +0 -0
  97. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/document.py +0 -0
  98. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/document.pyi +0 -0
  99. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/fragment.py +0 -0
  100. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/fragment.pyi +0 -0
  101. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/head.py +0 -0
  102. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/head.pyi +0 -0
  103. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/link.py +0 -0
  104. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/link.pyi +0 -0
  105. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/meta.py +0 -0
  106. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/meta.pyi +0 -0
  107. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/script.py +0 -0
  108. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/base/script.pyi +0 -0
  109. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/__init__.py +0 -0
  110. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/base.py +0 -0
  111. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/base.pyi +0 -0
  112. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/__init__.py +0 -0
  113. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/badge.py +0 -0
  114. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/badge.pyi +0 -0
  115. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/code.py +0 -0
  116. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/code.pyi +0 -0
  117. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/divider.py +0 -0
  118. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/divider.pyi +0 -0
  119. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/keyboard_key.py +0 -0
  120. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/keyboard_key.pyi +0 -0
  121. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/list.py +0 -0
  122. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/list.pyi +0 -0
  123. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/stat.py +0 -0
  124. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/stat.pyi +0 -0
  125. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/table.py +0 -0
  126. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/table.pyi +0 -0
  127. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/tag.py +0 -0
  128. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/datadisplay/tag.pyi +0 -0
  129. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/disclosure/__init__.py +0 -0
  130. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/disclosure/accordion.py +0 -0
  131. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/disclosure/accordion.pyi +0 -0
  132. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/disclosure/tabs.py +0 -0
  133. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/disclosure/tabs.pyi +0 -0
  134. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/disclosure/transition.py +0 -0
  135. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/disclosure/transition.pyi +0 -0
  136. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/disclosure/visuallyhidden.py +0 -0
  137. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/disclosure/visuallyhidden.pyi +0 -0
  138. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/feedback/__init__.py +0 -0
  139. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/feedback/alert.py +0 -0
  140. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/feedback/alert.pyi +0 -0
  141. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/feedback/circularprogress.py +0 -0
  142. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/feedback/circularprogress.pyi +0 -0
  143. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/feedback/progress.py +0 -0
  144. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/feedback/progress.pyi +0 -0
  145. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/feedback/skeleton.py +0 -0
  146. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/feedback/skeleton.pyi +0 -0
  147. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/feedback/spinner.py +0 -0
  148. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/feedback/spinner.pyi +0 -0
  149. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/__init__.py +0 -0
  150. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/button.py +0 -0
  151. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/button.pyi +0 -0
  152. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/checkbox.py +0 -0
  153. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/checkbox.pyi +0 -0
  154. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/colormodeswitch.py +0 -0
  155. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/colormodeswitch.pyi +0 -0
  156. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/date_picker.py +0 -0
  157. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/date_picker.pyi +0 -0
  158. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/date_time_picker.py +0 -0
  159. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/date_time_picker.pyi +0 -0
  160. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/editable.py +0 -0
  161. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/editable.pyi +0 -0
  162. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/email.py +0 -0
  163. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/email.pyi +0 -0
  164. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/form.py +0 -0
  165. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/form.pyi +0 -0
  166. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/iconbutton.py +0 -0
  167. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/iconbutton.pyi +0 -0
  168. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/input.py +0 -0
  169. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/input.pyi +0 -0
  170. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/multiselect.py +0 -0
  171. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/numberinput.py +0 -0
  172. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/numberinput.pyi +0 -0
  173. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/password.py +0 -0
  174. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/password.pyi +0 -0
  175. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/pininput.py +0 -0
  176. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/pininput.pyi +0 -0
  177. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/radio.py +0 -0
  178. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/radio.pyi +0 -0
  179. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/rangeslider.py +0 -0
  180. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/rangeslider.pyi +0 -0
  181. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/select.py +0 -0
  182. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/select.pyi +0 -0
  183. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/slider.py +0 -0
  184. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/slider.pyi +0 -0
  185. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/switch.py +0 -0
  186. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/switch.pyi +0 -0
  187. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/textarea.py +0 -0
  188. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/textarea.pyi +0 -0
  189. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/time_picker.py +0 -0
  190. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/forms/time_picker.pyi +0 -0
  191. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/__init__.py +0 -0
  192. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/aspect_ratio.py +0 -0
  193. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/aspect_ratio.pyi +0 -0
  194. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/box.py +0 -0
  195. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/box.pyi +0 -0
  196. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/card.py +0 -0
  197. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/card.pyi +0 -0
  198. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/center.py +0 -0
  199. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/center.pyi +0 -0
  200. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/container.py +0 -0
  201. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/container.pyi +0 -0
  202. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/flex.py +0 -0
  203. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/flex.pyi +0 -0
  204. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/grid.py +0 -0
  205. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/grid.pyi +0 -0
  206. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/spacer.py +0 -0
  207. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/spacer.pyi +0 -0
  208. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/stack.py +0 -0
  209. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/stack.pyi +0 -0
  210. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/wrap.py +0 -0
  211. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/layout/wrap.pyi +0 -0
  212. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/media/__init__.py +0 -0
  213. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/media/avatar.py +0 -0
  214. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/media/avatar.pyi +0 -0
  215. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/media/icon.py +0 -0
  216. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/media/icon.pyi +0 -0
  217. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/media/image.py +0 -0
  218. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/media/image.pyi +0 -0
  219. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/navigation/__init__.py +0 -0
  220. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/navigation/breadcrumb.py +0 -0
  221. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/navigation/breadcrumb.pyi +0 -0
  222. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/navigation/link.py +0 -0
  223. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/navigation/link.pyi +0 -0
  224. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/navigation/linkoverlay.py +0 -0
  225. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/navigation/linkoverlay.pyi +0 -0
  226. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/navigation/stepper.py +0 -0
  227. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/navigation/stepper.pyi +0 -0
  228. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/__init__.py +0 -0
  229. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/alertdialog.py +0 -0
  230. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/alertdialog.pyi +0 -0
  231. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/drawer.py +0 -0
  232. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/drawer.pyi +0 -0
  233. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/menu.py +0 -0
  234. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/menu.pyi +0 -0
  235. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/modal.py +0 -0
  236. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/modal.pyi +0 -0
  237. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/popover.py +0 -0
  238. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/popover.pyi +0 -0
  239. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/tooltip.py +0 -0
  240. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/overlay/tooltip.pyi +0 -0
  241. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/typography/__init__.py +0 -0
  242. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/typography/heading.py +0 -0
  243. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/typography/heading.pyi +0 -0
  244. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/typography/highlight.py +0 -0
  245. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/typography/highlight.pyi +0 -0
  246. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/typography/span.py +0 -0
  247. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/typography/span.pyi +0 -0
  248. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/typography/text.py +0 -0
  249. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/chakra/typography/text.pyi +0 -0
  250. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/__init__.py +0 -0
  251. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/banner.py +0 -0
  252. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/banner.pyi +0 -0
  253. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/client_side_routing.py +0 -0
  254. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/client_side_routing.pyi +0 -0
  255. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/colors.py +0 -0
  256. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/cond.py +0 -0
  257. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/debounce.py +0 -0
  258. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/debounce.pyi +0 -0
  259. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/html.py +0 -0
  260. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/html.pyi +0 -0
  261. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/layout/__init__.py +0 -0
  262. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/match.py +0 -0
  263. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/responsive.py +0 -0
  264. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/upload.py +0 -0
  265. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/core/upload.pyi +0 -0
  266. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/datadisplay/__init__.py +0 -0
  267. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/datadisplay/code.py +0 -0
  268. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/datadisplay/code.pyi +0 -0
  269. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/datadisplay/dataeditor.py +0 -0
  270. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/datadisplay/dataeditor.pyi +0 -0
  271. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/datadisplay/logo.py +0 -0
  272. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/__init__.py +0 -0
  273. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/constants/__init__.py +0 -0
  274. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/constants/html.py +0 -0
  275. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/constants/react.py +0 -0
  276. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/constants/reflex.py +0 -0
  277. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/element.py +0 -0
  278. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/element.pyi +0 -0
  279. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/__init__.py +0 -0
  280. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/base.py +0 -0
  281. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/base.pyi +0 -0
  282. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/forms.py +0 -0
  283. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/forms.pyi +0 -0
  284. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/inline.py +0 -0
  285. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/inline.pyi +0 -0
  286. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/media.py +0 -0
  287. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/media.pyi +0 -0
  288. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/metadata.py +0 -0
  289. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/metadata.pyi +0 -0
  290. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/other.py +0 -0
  291. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/other.pyi +0 -0
  292. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/scripts.py +0 -0
  293. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/scripts.pyi +0 -0
  294. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/sectioning.py +0 -0
  295. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/sectioning.pyi +0 -0
  296. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/tables.py +0 -0
  297. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/tables.pyi +0 -0
  298. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/typography.py +0 -0
  299. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/el/elements/typography.pyi +0 -0
  300. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/gridjs/__init__.py +0 -0
  301. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/gridjs/datatable.py +0 -0
  302. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/gridjs/datatable.pyi +0 -0
  303. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/literals.py +0 -0
  304. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/lucide/__init__.py +0 -0
  305. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/lucide/icon.py +0 -0
  306. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/lucide/icon.pyi +0 -0
  307. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/markdown/__init__.py +0 -0
  308. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/markdown/markdown.py +0 -0
  309. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/markdown/markdown.pyi +0 -0
  310. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/media/__init__.py +0 -0
  311. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/media/icon.py +0 -0
  312. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/moment/__init__.py +0 -0
  313. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/moment/moment.py +0 -0
  314. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/moment/moment.pyi +0 -0
  315. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/next/__init__.py +0 -0
  316. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/next/base.py +0 -0
  317. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/next/base.pyi +0 -0
  318. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/next/image.py +0 -0
  319. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/next/image.pyi +0 -0
  320. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/next/link.py +0 -0
  321. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/next/link.pyi +0 -0
  322. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/next/video.py +0 -0
  323. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/next/video.pyi +0 -0
  324. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/plotly/__init__.py +0 -0
  325. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/plotly/plotly.py +0 -0
  326. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/plotly/plotly.pyi +0 -0
  327. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/__init__.py +0 -0
  328. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/__init__.py +0 -0
  329. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/base.py +0 -0
  330. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/base.pyi +0 -0
  331. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/drawer.py +0 -0
  332. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/drawer.pyi +0 -0
  333. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/form.pyi +0 -0
  334. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/progress.py +0 -0
  335. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/progress.pyi +0 -0
  336. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/slider.py +0 -0
  337. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/primitives/slider.pyi +0 -0
  338. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/__init__.py +0 -0
  339. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/base.py +0 -0
  340. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/base.pyi +0 -0
  341. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/__init__.py +0 -0
  342. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
  343. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
  344. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
  345. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
  346. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/avatar.py +0 -0
  347. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/avatar.pyi +0 -0
  348. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/badge.py +0 -0
  349. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/badge.pyi +0 -0
  350. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/button.py +0 -0
  351. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/button.pyi +0 -0
  352. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/callout.py +0 -0
  353. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/callout.pyi +0 -0
  354. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/card.py +0 -0
  355. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/card.pyi +0 -0
  356. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/checkbox.py +0 -0
  357. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
  358. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
  359. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
  360. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
  361. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
  362. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/context_menu.py +0 -0
  363. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
  364. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/data_list.py +0 -0
  365. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/data_list.pyi +0 -0
  366. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/dialog.py +0 -0
  367. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/dialog.pyi +0 -0
  368. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
  369. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
  370. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/hover_card.py +0 -0
  371. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
  372. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/icon_button.py +0 -0
  373. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
  374. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/inset.py +0 -0
  375. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/inset.pyi +0 -0
  376. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/popover.py +0 -0
  377. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/popover.pyi +0 -0
  378. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/progress.py +0 -0
  379. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/progress.pyi +0 -0
  380. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/radio.py +0 -0
  381. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/radio.pyi +0 -0
  382. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/radio_cards.py +0 -0
  383. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
  384. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/radio_group.py +0 -0
  385. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
  386. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/scroll_area.py +0 -0
  387. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
  388. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/segmented_control.py +0 -0
  389. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
  390. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/select.py +0 -0
  391. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/select.pyi +0 -0
  392. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/separator.py +0 -0
  393. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/separator.pyi +0 -0
  394. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/skeleton.py +0 -0
  395. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
  396. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/slider.py +0 -0
  397. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/slider.pyi +0 -0
  398. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/spinner.py +0 -0
  399. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/spinner.pyi +0 -0
  400. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/switch.py +0 -0
  401. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/switch.pyi +0 -0
  402. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/table.py +0 -0
  403. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/table.pyi +0 -0
  404. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/tabs.py +0 -0
  405. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/tabs.pyi +0 -0
  406. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/text_area.py +0 -0
  407. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/text_area.pyi +0 -0
  408. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/text_field.py +0 -0
  409. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/text_field.pyi +0 -0
  410. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/tooltip.py +0 -0
  411. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
  412. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/__init__.py +0 -0
  413. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/base.py +0 -0
  414. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/base.pyi +0 -0
  415. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/box.py +0 -0
  416. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/box.pyi +0 -0
  417. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/center.py +0 -0
  418. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/center.pyi +0 -0
  419. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/container.py +0 -0
  420. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/container.pyi +0 -0
  421. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/flex.py +0 -0
  422. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/flex.pyi +0 -0
  423. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/grid.py +0 -0
  424. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/grid.pyi +0 -0
  425. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/list.py +0 -0
  426. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/list.pyi +0 -0
  427. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/section.py +0 -0
  428. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/section.pyi +0 -0
  429. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/spacer.py +0 -0
  430. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
  431. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/stack.py +0 -0
  432. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/layout/stack.pyi +0 -0
  433. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/__init__.py +0 -0
  434. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/base.py +0 -0
  435. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/blockquote.py +0 -0
  436. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
  437. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/code.py +0 -0
  438. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/code.pyi +0 -0
  439. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/heading.py +0 -0
  440. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/heading.pyi +0 -0
  441. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/link.py +0 -0
  442. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/link.pyi +0 -0
  443. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/text.py +0 -0
  444. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/radix/themes/typography/text.pyi +0 -0
  445. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/react_player/__init__.py +0 -0
  446. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/react_player/audio.py +0 -0
  447. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/react_player/audio.pyi +0 -0
  448. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/react_player/react_player.py +0 -0
  449. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/react_player/react_player.pyi +0 -0
  450. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/react_player/video.py +0 -0
  451. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/react_player/video.pyi +0 -0
  452. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/recharts/__init__.py +0 -0
  453. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/recharts/cartesian.py +0 -0
  454. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/recharts/cartesian.pyi +0 -0
  455. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/recharts/charts.py +0 -0
  456. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/recharts/charts.pyi +0 -0
  457. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/recharts/general.py +0 -0
  458. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/recharts/general.pyi +0 -0
  459. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/recharts/polar.py +0 -0
  460. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/recharts/polar.pyi +0 -0
  461. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/recharts/recharts.py +0 -0
  462. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/recharts/recharts.pyi +0 -0
  463. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/sonner/__init__.py +0 -0
  464. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/sonner/toast.py +0 -0
  465. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/sonner/toast.pyi +0 -0
  466. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/suneditor/__init__.py +0 -0
  467. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/suneditor/editor.py +0 -0
  468. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/suneditor/editor.pyi +0 -0
  469. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/tags/__init__.py +0 -0
  470. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/tags/cond_tag.py +0 -0
  471. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/tags/iter_tag.py +0 -0
  472. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/tags/match_tag.py +0 -0
  473. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/tags/tag.py +0 -0
  474. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/components/tags/tagless.py +0 -0
  475. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/config.py +0 -0
  476. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/config.pyi +0 -0
  477. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/constants/__init__.py +0 -0
  478. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/constants/base.py +0 -0
  479. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/constants/base.pyi +0 -0
  480. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/constants/colors.py +0 -0
  481. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/constants/compiler.py +0 -0
  482. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/constants/config.py +0 -0
  483. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/constants/custom_components.py +0 -0
  484. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/constants/event.py +0 -0
  485. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/constants/installer.py +0 -0
  486. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/constants/route.py +0 -0
  487. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/constants/style.py +0 -0
  488. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/custom_components/__init__.py +0 -0
  489. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/event.py +0 -0
  490. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/experimental/__init__.py +0 -0
  491. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/experimental/hooks.py +0 -0
  492. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/experimental/layout.py +0 -0
  493. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/experimental/misc.py +0 -0
  494. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/middleware/__init__.py +0 -0
  495. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/middleware/hydrate_middleware.py +0 -0
  496. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/middleware/middleware.py +0 -0
  497. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/model.py +0 -0
  498. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/page.py +0 -0
  499. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/reflex.py +0 -0
  500. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/route.py +0 -0
  501. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/state.py +0 -0
  502. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/testing.py +0 -0
  503. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/__init__.py +0 -0
  504. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/build.py +0 -0
  505. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/compat.py +0 -0
  506. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/console.py +0 -0
  507. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/exceptions.py +0 -0
  508. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/exec.py +0 -0
  509. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/export.py +0 -0
  510. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/format.py +0 -0
  511. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/imports.py +0 -0
  512. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/path_ops.py +0 -0
  513. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/prerequisites.py +0 -0
  514. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/processes.py +0 -0
  515. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/pyi_generator.py +0 -0
  516. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/serializers.py +0 -0
  517. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/telemetry.py +0 -0
  518. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/types.py +0 -0
  519. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/utils/watch.py +0 -0
  520. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/vars.py +0 -0
  521. {reflex-0.5.0 → reflex-0.5.0a1}/reflex/vars.pyi +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reflex
3
- Version: 0.5.0
3
+ Version: 0.5.0a1
4
4
  Summary: Web apps in pure Python.
5
5
  Home-page: https://reflex.dev
6
6
  License: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "reflex"
3
- version = "0.5.0"
3
+ version = "0.5.0a1"
4
4
  description = "Web apps in pure Python."
5
5
  license = "Apache-2.0"
6
6
  authors = [
@@ -44,7 +44,7 @@ def template(main_content: Callable[[], rx.Component]) -> rx.Component:
44
44
  ),
45
45
  rx.chakra.menu_item(
46
46
  rx.chakra.link(
47
- "Contact", href="mailto:founders@reflex.dev", width="100%"
47
+ "Contact", href="mailto:founders@=reflex.dev", width="100%"
48
48
  )
49
49
  ),
50
50
  ),
@@ -17,16 +17,4 @@ module.exports = {
17
17
  {% if darkMode is defined %}
18
18
  darkMode: {{darkMode|json_dumps}},
19
19
  {% endif %}
20
- {% if corePlugins is defined %}
21
- corePlugins: {{corePlugins|json_dumps}},
22
- {% endif %}
23
- {% if important is defined %}
24
- important: {{important|json_dumps}},
25
- {% endif %}
26
- {% if prefix is defined %}
27
- prefix: {{prefix|json_dumps}},
28
- {% endif %}
29
- {% if separator is defined %}
30
- separator: {{separator|json_dumps}},
31
- {% endif %}
32
20
  };
@@ -781,7 +781,7 @@ class Component(BaseComponent, ABC):
781
781
 
782
782
  return cls(children=children, **props)
783
783
 
784
- def add_style(self) -> dict[str, Any] | None:
784
+ def add_style(self) -> Style | None:
785
785
  """Add style to the component.
786
786
 
787
787
  Downstream components can override this method to return a style dict
@@ -801,16 +801,20 @@ class Component(BaseComponent, ABC):
801
801
  The style to add.
802
802
  """
803
803
  styles = []
804
+ vars = []
804
805
 
805
806
  # Walk the MRO to call all `add_style` methods.
806
807
  for base in self._iter_parent_classes_with_method("add_style"):
807
808
  s = base.add_style(self) # type: ignore
808
809
  if s is not None:
809
810
  styles.append(s)
811
+ vars.append(s._var_data)
810
812
 
811
813
  _style = Style()
812
814
  for s in reversed(styles):
813
815
  _style.update(s)
816
+
817
+ _style._var_data = VarData.merge(*vars)
814
818
  return _style
815
819
 
816
820
  def _get_component_style(self, styles: ComponentStyle) -> Style | None:
@@ -0,0 +1,104 @@
1
+ """Create a list of components from an iterable."""
2
+ from __future__ import annotations
3
+
4
+ import inspect
5
+ from hashlib import md5
6
+ from typing import Any, Callable, Iterable
7
+
8
+ from reflex.components.base.fragment import Fragment
9
+ from reflex.components.component import Component
10
+ from reflex.components.tags import IterTag
11
+ from reflex.constants import MemoizationMode
12
+ from reflex.vars import Var
13
+
14
+
15
+ class Foreach(Component):
16
+ """A component that takes in an iterable and a render function and renders a list of components."""
17
+
18
+ _memoization_mode = MemoizationMode(recursive=False)
19
+
20
+ # The iterable to create components from.
21
+ iterable: Var[Iterable]
22
+
23
+ # A function from the render args to the component.
24
+ render_fn: Callable = Fragment.create
25
+
26
+ @classmethod
27
+ def create(cls, iterable: Var[Iterable], render_fn: Callable, **props) -> Foreach:
28
+ """Create a foreach component.
29
+
30
+ Args:
31
+ iterable: The iterable to create components from.
32
+ render_fn: A function from the render args to the component.
33
+ **props: The attributes to pass to each child component.
34
+
35
+ Returns:
36
+ The foreach component.
37
+
38
+ Raises:
39
+ TypeError: If the iterable is of type Any.
40
+ """
41
+ iterable = Var.create(iterable) # type: ignore
42
+ if iterable._var_type == Any:
43
+ raise TypeError(
44
+ f"Could not foreach over var of type Any. (If you are trying to foreach over a state var, add a type annotation to the var.)"
45
+ )
46
+ component = cls(
47
+ iterable=iterable,
48
+ render_fn=render_fn,
49
+ **props,
50
+ )
51
+ # Keep a ref to a rendered component to determine correct imports.
52
+ component.children = [
53
+ component._render(props=dict(index_var_name="i")).render_component()
54
+ ]
55
+ return component
56
+
57
+ def _render(self, props: dict[str, Any] | None = None) -> IterTag:
58
+ props = {} if props is None else props.copy()
59
+
60
+ # Determine the arg var name based on the params accepted by render_fn.
61
+ render_sig = inspect.signature(self.render_fn)
62
+ params = list(render_sig.parameters.values())
63
+ if len(params) >= 1:
64
+ props.setdefault("arg_var_name", params[0].name)
65
+
66
+ if len(params) >= 2:
67
+ # Determine the index var name based on the params accepted by render_fn.
68
+ props.setdefault("index_var_name", params[1].name)
69
+ elif "index_var_name" not in props:
70
+ # Otherwise, use a deterministic index, based on the rendered code.
71
+ code_hash = md5(str(self.children[0].render()).encode("utf-8")).hexdigest()
72
+ props.setdefault("index_var_name", f"index_{code_hash}")
73
+
74
+ return IterTag(
75
+ iterable=self.iterable,
76
+ render_fn=self.render_fn,
77
+ **props,
78
+ )
79
+
80
+ def render(self):
81
+ """Render the component.
82
+
83
+ Returns:
84
+ The dictionary for template of component.
85
+ """
86
+ tag = self._render()
87
+ component = tag.render_component()
88
+
89
+ return dict(
90
+ tag.add_props(
91
+ **self.event_triggers,
92
+ key=self.key,
93
+ sx=self.style,
94
+ id=self.id,
95
+ class_name=self.class_name,
96
+ ).set(
97
+ children=[component.render()],
98
+ props=tag.format_props(),
99
+ ),
100
+ iterable_state=tag.iterable._var_full_name,
101
+ arg_name=tag.arg_var_name,
102
+ arg_index=tag.get_index_var_arg(),
103
+ iterable_type=tag.iterable._var_type.mro()[0].__name__,
104
+ )
@@ -6,10 +6,9 @@ from typing import Any, Dict, List, Literal, Optional, Union
6
6
 
7
7
  from reflex.components.component import Component, ComponentNamespace
8
8
  from reflex.components.core.colors import color
9
- from reflex.components.core.cond import cond
10
9
  from reflex.components.lucide.icon import Icon
11
10
  from reflex.components.radix.primitives.base import RadixPrimitiveComponent
12
- from reflex.components.radix.themes.base import LiteralAccentColor, LiteralRadius
11
+ from reflex.components.radix.themes.base import LiteralAccentColor
13
12
  from reflex.style import Style
14
13
  from reflex.utils import imports
15
14
  from reflex.vars import Var, get_uuid_string_var
@@ -20,32 +19,6 @@ LiteralAccordionOrientation = Literal["vertical", "horizontal"]
20
19
  LiteralAccordionVariant = Literal["classic", "soft", "surface", "outline", "ghost"]
21
20
 
22
21
  DEFAULT_ANIMATION_DURATION = 250
23
- DEFAULT_ANIMATION_EASING = "cubic-bezier(0.87, 0, 0.13, 1)"
24
-
25
-
26
- def _inherited_variant_selector(
27
- variant: Var[LiteralAccordionVariant] | LiteralAccordionVariant,
28
- *selectors: str,
29
- ) -> str:
30
- """Create a multi CSS selector for targeting variant against the given selectors.
31
-
32
- Args:
33
- variant: The variant to target.
34
- selectors: The selectors to apply the variant to (default &)
35
-
36
- Returns:
37
- A CSS selector that is more specific on elements that directly set the variant.
38
- """
39
- if not selectors:
40
- selectors = ("&",)
41
- # Prefer the `data-variant` that is set directly on the selector,
42
- # but also inherit the `data-variant` from any parent element.
43
- return ", ".join(
44
- [
45
- f"{selector}[data-variant='{variant}'], *:where([data-variant='{variant}']) {selector}"
46
- for selector in selectors
47
- ]
48
- )
49
22
 
50
23
 
51
24
  class AccordionComponent(RadixPrimitiveComponent):
@@ -57,14 +30,14 @@ class AccordionComponent(RadixPrimitiveComponent):
57
30
  color_scheme: Var[LiteralAccentColor]
58
31
 
59
32
  # The variant of the component.
60
- variant: Var[LiteralAccordionVariant]
33
+ variant: Var[LiteralAccordionVariant] = Var.create_safe("classic")
61
34
 
62
35
  def add_style(self) -> Style | None:
63
36
  """Add style to the component."""
64
37
  if self.color_scheme is not None:
65
38
  self.custom_attrs["data-accent-color"] = self.color_scheme
66
- if self.variant is not None:
67
- self.custom_attrs["data-variant"] = self.variant
39
+
40
+ self.custom_attrs["data-variant"] = self.variant
68
41
 
69
42
  def _exclude_props(self) -> list[str]:
70
43
  return ["color_scheme", "variant"]
@@ -98,27 +71,28 @@ class AccordionRoot(AccordionComponent):
98
71
  # The orientation of the accordion.
99
72
  orientation: Var[LiteralAccordionOrientation]
100
73
 
101
- # The radius of the accordion corners.
102
- radius: Var[LiteralRadius]
74
+ # The variant of the accordion.
75
+ variant: Var[LiteralAccordionVariant] = Var.create_safe("classic")
103
76
 
104
- # The time in milliseconds to animate open and close
105
- duration: Var[int] = Var.create_safe(DEFAULT_ANIMATION_DURATION)
77
+ _valid_children: List[str] = ["AccordionItem"]
106
78
 
107
- # The easing function to use for the animation.
108
- easing: Var[str] = Var.create_safe(DEFAULT_ANIMATION_EASING)
79
+ @classmethod
80
+ def create(cls, *children, **props) -> Component:
81
+ """Create the Accordion root component.
109
82
 
110
- # Whether to show divider lines between items.
111
- show_dividers: Var[bool]
83
+ Args:
84
+ *children: The children of the component.
85
+ **props: The properties of the component.
112
86
 
113
- _valid_children: List[str] = ["AccordionItem"]
87
+ Returns:
88
+ The Accordion root Component.
89
+ """
90
+ for child in children:
91
+ if isinstance(child, AccordionItem):
92
+ child.color_scheme = props.get("color_scheme") # type: ignore
93
+ child.variant = props.get("variant") # type: ignore
114
94
 
115
- def _exclude_props(self) -> list[str]:
116
- return super()._exclude_props() + [
117
- "radius",
118
- "duration",
119
- "easing",
120
- "show_dividers",
121
- ]
95
+ return super().create(*children, **props)
122
96
 
123
97
  def get_event_triggers(self) -> Dict[str, Any]:
124
98
  """Get the events triggers signatures for the component.
@@ -137,42 +111,30 @@ class AccordionRoot(AccordionComponent):
137
111
  Returns:
138
112
  The style of the component.
139
113
  """
140
- if self.radius is not None:
141
- self.custom_attrs["data-radius"] = self.radius
142
- if self.variant is None:
143
- # The default variant is classic
144
- self.custom_attrs["data-variant"] = "classic"
145
-
146
- style = {
147
- "border_radius": "var(--radius-4)",
148
- "box_shadow": f"0 2px 10px {color('black', 1, alpha=True)}",
149
- "&[data-variant='classic']": {
150
- "background_color": color("accent", 9),
151
- "box_shadow": f"0 2px 10px {color('black', 4, alpha=True)}",
152
- },
153
- "&[data-variant='soft']": {
154
- "background_color": color("accent", 3),
155
- },
156
- "&[data-variant='outline']": {
157
- "border": f"1px solid {color('accent', 6)}",
158
- },
159
- "&[data-variant='surface']": {
160
- "border": f"1px solid {color('accent', 6)}",
161
- "background_color": "var(--accent-surface)",
162
- },
163
- "&[data-variant='ghost']": {
164
- "background_color": "none",
165
- "box_shadow": "None",
166
- },
167
- "--animation-duration": f"{self.duration}ms",
168
- "--animation-easing": self.easing,
169
- }
170
- if self.show_dividers is not None:
171
- style["--divider-px"] = cond(self.show_dividers, "1px", "0")
172
- else:
173
- style["&[data-variant='outline']"]["--divider-px"] = "1px"
174
- style["&[data-variant='surface']"]["--divider-px"] = "1px"
175
- return Style(style)
114
+ return Style(
115
+ {
116
+ "border_radius": "6px",
117
+ "box_shadow": f"0 2px 10px {color('black', 1, alpha=True)}",
118
+ "&[data-variant='classic']": {
119
+ "background_color": color("accent", 9),
120
+ "box_shadow": f"0 2px 10px {color('black', 4, alpha=True)}",
121
+ },
122
+ "&[data-variant='soft']": {
123
+ "background_color": color("accent", 3),
124
+ },
125
+ "&[data-variant='outline']": {
126
+ "border": f"1px solid {color('accent', 6)}",
127
+ },
128
+ "&[data-variant='surface']": {
129
+ "border": f"1px solid {color('accent', 6)}",
130
+ "background_color": color("accent", 3),
131
+ },
132
+ "&[data-variant='ghost']": {
133
+ "background_color": "none",
134
+ "box_shadow": "None",
135
+ },
136
+ }
137
+ )
176
138
 
177
139
 
178
140
  class AccordionItem(AccordionComponent):
@@ -223,28 +185,23 @@ class AccordionItem(AccordionComponent):
223
185
  ):
224
186
  cls_name = f"{cls_name} AccordionItem"
225
187
 
226
- color_scheme = props.get("color_scheme")
227
- variant = props.get("variant")
228
-
229
188
  if (header is not None) and (content is not None):
230
189
  children = [
231
190
  AccordionHeader.create(
232
191
  AccordionTrigger.create(
233
192
  header,
234
193
  AccordionIcon.create(
235
- color_scheme=color_scheme,
236
- variant=variant,
194
+ color_scheme=props.get("color_scheme"),
195
+ variant=props.get("variant"),
237
196
  ),
238
- color_scheme=color_scheme,
239
- variant=variant,
197
+ color_scheme=props.get("color_scheme"),
198
+ variant=props.get("variant"),
240
199
  ),
241
- color_scheme=color_scheme,
242
- variant=variant,
200
+ color_scheme=props.get("color_scheme"),
201
+ variant=props.get("variant"),
243
202
  ),
244
203
  AccordionContent.create(
245
- content,
246
- color_scheme=color_scheme,
247
- variant=variant,
204
+ content, color_scheme=props.get("color_scheme")
248
205
  ),
249
206
  ]
250
207
 
@@ -256,35 +213,29 @@ class AccordionItem(AccordionComponent):
256
213
  Returns:
257
214
  The style of the component.
258
215
  """
259
- divider_style = f"var(--divider-px) solid {color('gray', 6, alpha=True)}"
216
+ for child in self.children:
217
+ if isinstance(child, (AccordionHeader, AccordionContent)):
218
+ child.color_scheme = self.color_scheme
219
+ child.variant = self.variant
220
+
260
221
  return Style(
261
222
  {
262
223
  "overflow": "hidden",
263
224
  "width": "100%",
264
225
  "margin_top": "1px",
265
- "border_top": divider_style,
266
226
  "&:first-child": {
267
227
  "margin_top": 0,
268
- "border_top": 0,
269
- "border_top_left_radius": "var(--radius-4)",
270
- "border_top_right_radius": "var(--radius-4)",
228
+ "border_top_left_radius": "4px",
229
+ "border_top_right_radius": "4px",
271
230
  },
272
231
  "&:last-child": {
273
- "border_bottom_left_radius": "var(--radius-4)",
274
- "border_bottom_right_radius": "var(--radius-4)",
232
+ "border_bottom_left_radius": "4px",
233
+ "border_bottom_right_radius": "4px",
275
234
  },
276
235
  "&:focus-within": {
277
236
  "position": "relative",
278
237
  "z_index": 1,
279
238
  },
280
- _inherited_variant_selector("ghost", "&:first-child"): {
281
- "border_radius": 0,
282
- "border_top": divider_style,
283
- },
284
- _inherited_variant_selector("ghost", "&:last-child"): {
285
- "border_radius": 0,
286
- "border_bottom": divider_style,
287
- },
288
239
  }
289
240
  )
290
241
 
@@ -320,9 +271,17 @@ class AccordionHeader(AccordionComponent):
320
271
  Returns:
321
272
  The style of the component.
322
273
  """
274
+ for child in self.children:
275
+ if isinstance(child, AccordionTrigger):
276
+ child.color_scheme = self.color_scheme
277
+ child.variant = self.variant
278
+
323
279
  return Style({"display": "flex"})
324
280
 
325
281
 
282
+ cubic_bezier = "cubic-bezier(0.87, 0, 0.13, 1)"
283
+
284
+
326
285
  class AccordionTrigger(AccordionComponent):
327
286
  """An accordion component."""
328
287
 
@@ -354,18 +313,24 @@ class AccordionTrigger(AccordionComponent):
354
313
  Returns:
355
314
  The style of the component.
356
315
  """
316
+ for child in self.children:
317
+ if isinstance(child, AccordionIcon):
318
+ child.color_scheme = self.color_scheme
319
+ child.variant = self.variant
320
+
357
321
  return Style(
358
322
  {
359
323
  "color": color("accent", 11),
360
- "font_size": "1.1em",
361
324
  "line_height": 1,
325
+ "font_size": "15px",
362
326
  "justify_content": "space-between",
363
327
  "align_items": "center",
364
328
  "flex": 1,
365
329
  "display": "flex",
366
- "padding": "var(--space-3) var(--space-4)",
330
+ "padding": "0 20px",
331
+ "height": "45px",
332
+ "font_family": "inherit",
367
333
  "width": "100%",
368
- "box_shadow": f"0 var(--divider-px) 0 {color('gray', 6, alpha=True)}",
369
334
  "&[data-state='open'] > .AccordionChevron": {
370
335
  "transform": "rotate(180deg)",
371
336
  },
@@ -373,15 +338,17 @@ class AccordionTrigger(AccordionComponent):
373
338
  "background_color": color("accent", 4),
374
339
  },
375
340
  "& > .AccordionChevron": {
376
- "transition": f"transform var(--animation-duration) var(--animation-easing)",
341
+ "transition": f"transform {DEFAULT_ANIMATION_DURATION}ms {cubic_bezier}",
377
342
  },
378
- _inherited_variant_selector("classic"): {
379
- "color": "var(--accent-contrast)",
343
+ "&[data-variant='classic']": {
344
+ "color": color("accent", 12),
345
+ "box_shadow": color("accent", 11),
380
346
  "&:hover": {
381
347
  "background_color": color("accent", 10),
382
348
  },
383
349
  "& > .AccordionChevron": {
384
- "color": "var(--accent-contrast)",
350
+ "color": color("accent", 12),
351
+ "transition": f"transform {DEFAULT_ANIMATION_DURATION}ms {cubic_bezier}",
385
352
  },
386
353
  },
387
354
  }
@@ -477,31 +444,30 @@ to {
477
444
  The style of the component.
478
445
  """
479
446
  slideDown = Var.create(
480
- f"${{slideDown}} var(--animation-duration) var(--animation-easing)",
447
+ f"${{slideDown}} {DEFAULT_ANIMATION_DURATION}ms {cubic_bezier}",
481
448
  _var_is_string=True,
482
449
  )
483
450
 
484
451
  slideUp = Var.create(
485
- f"${{slideUp}} var(--animation-duration) var(--animation-easing)",
452
+ f"${{slideUp}} {DEFAULT_ANIMATION_DURATION}ms {cubic_bezier}",
486
453
  _var_is_string=True,
487
454
  )
488
455
 
489
456
  return Style(
490
457
  {
491
458
  "overflow": "hidden",
459
+ "font_size": "10px",
492
460
  "color": color("accent", 11),
493
- "padding_x": "var(--space-4)",
494
- # Apply before and after content to avoid height animation jank.
495
- "&:before, &:after": {
496
- "content": "' '",
497
- "display": "block",
498
- "height": "var(--space-3)",
499
- },
461
+ "background_color": color("accent", 3),
462
+ "padding": "0 15px",
500
463
  "&[data-state='open']": {"animation": slideDown},
501
464
  "&[data-state='closed']": {"animation": slideUp},
502
- _inherited_variant_selector("classic"): {
503
- "color": "var(--accent-contrast)",
465
+ "&[data-variant='classic']": {
466
+ "color": color("accent", 12),
467
+ "background_color": color("accent", 9),
504
468
  },
469
+ "&[data-variant='outline']": {"background_color": "transparent"},
470
+ "&[data-variant='ghost']": {"background_color": "transparent"},
505
471
  }
506
472
  )
507
473
 
@@ -10,10 +10,9 @@ from reflex.style import Style
10
10
  from typing import Any, Dict, List, Literal, Optional, Union
11
11
  from reflex.components.component import Component, ComponentNamespace
12
12
  from reflex.components.core.colors import color
13
- from reflex.components.core.cond import cond
14
13
  from reflex.components.lucide.icon import Icon
15
14
  from reflex.components.radix.primitives.base import RadixPrimitiveComponent
16
- from reflex.components.radix.themes.base import LiteralAccentColor, LiteralRadius
15
+ from reflex.components.radix.themes.base import LiteralAccentColor
17
16
  from reflex.style import Style
18
17
  from reflex.utils import imports
19
18
  from reflex.vars import Var, get_uuid_string_var
@@ -23,7 +22,6 @@ LiteralAccordionDir = Literal["ltr", "rtl"]
23
22
  LiteralAccordionOrientation = Literal["vertical", "horizontal"]
24
23
  LiteralAccordionVariant = Literal["classic", "soft", "surface", "outline", "ghost"]
25
24
  DEFAULT_ANIMATION_DURATION = 250
26
- DEFAULT_ANIMATION_EASING = "cubic-bezier(0.87, 0, 0.13, 1)"
27
25
 
28
26
  class AccordionComponent(RadixPrimitiveComponent):
29
27
  def add_style(self) -> Style | None: ...
@@ -175,8 +173,6 @@ class AccordionComponent(RadixPrimitiveComponent):
175
173
  ...
176
174
 
177
175
  class AccordionRoot(AccordionComponent):
178
- def get_event_triggers(self) -> Dict[str, Any]: ...
179
- def add_style(self): ...
180
176
  @overload
181
177
  @classmethod
182
178
  def create( # type: ignore
@@ -200,15 +196,12 @@ class AccordionRoot(AccordionComponent):
200
196
  Literal["vertical", "horizontal"],
201
197
  ]
202
198
  ] = None,
203
- radius: Optional[
199
+ variant: Optional[
204
200
  Union[
205
- Var[Literal["none", "small", "medium", "large", "full"]],
206
- Literal["none", "small", "medium", "large", "full"],
201
+ Var[Literal["classic", "soft", "surface", "outline", "ghost"]],
202
+ Literal["classic", "soft", "surface", "outline", "ghost"],
207
203
  ]
208
204
  ] = None,
209
- duration: Optional[Union[Var[int], int]] = None,
210
- easing: Optional[Union[Var[str], str]] = None,
211
- show_dividers: Optional[Union[Var[bool], bool]] = None,
212
205
  color_scheme: Optional[
213
206
  Union[
214
207
  Var[
@@ -271,12 +264,6 @@ class AccordionRoot(AccordionComponent):
271
264
  ],
272
265
  ]
273
266
  ] = None,
274
- variant: Optional[
275
- Union[
276
- Var[Literal["classic", "soft", "surface", "outline", "ghost"]],
277
- Literal["classic", "soft", "surface", "outline", "ghost"],
278
- ]
279
- ] = None,
280
267
  as_child: Optional[Union[Var[bool], bool]] = None,
281
268
  style: Optional[Style] = None,
282
269
  key: Optional[Any] = None,
@@ -334,7 +321,7 @@ class AccordionRoot(AccordionComponent):
334
321
  ] = None,
335
322
  **props
336
323
  ) -> "AccordionRoot":
337
- """Create the component.
324
+ """Create the Accordion root component.
338
325
 
339
326
  Args:
340
327
  *children: The children of the component.
@@ -345,12 +332,8 @@ class AccordionRoot(AccordionComponent):
345
332
  disabled: Whether or not the accordion is disabled.
346
333
  dir: The reading direction of the accordion when applicable.
347
334
  orientation: The orientation of the accordion.
348
- radius: The radius of the accordion corners.
349
- duration: The time in milliseconds to animate open and close
350
- easing: The easing function to use for the animation.
351
- show_dividers: Whether to show divider lines between items.
352
- color_scheme: The color scheme of the component.
353
335
  variant: The variant of the component.
336
+ color_scheme: The color scheme of the component.
354
337
  as_child: Change the default rendered element for the one passed as a child.
355
338
  style: The style of the component.
356
339
  key: A unique key for the component.
@@ -358,12 +341,14 @@ class AccordionRoot(AccordionComponent):
358
341
  class_name: The class name for the component.
359
342
  autofocus: Whether the component should take the focus once the page is loaded
360
343
  custom_attrs: custom attribute
361
- **props: The props of the component.
344
+ **props: The properties of the component.
362
345
 
363
346
  Returns:
364
- The component.
347
+ The Accordion root Component.
365
348
  """
366
349
  ...
350
+ def get_event_triggers(self) -> Dict[str, Any]: ...
351
+ def add_style(self): ...
367
352
 
368
353
  class AccordionItem(AccordionComponent):
369
354
  @overload
@@ -671,6 +656,8 @@ class AccordionHeader(AccordionComponent):
671
656
  ...
672
657
  def add_style(self) -> Style | None: ...
673
658
 
659
+ cubic_bezier = "cubic-bezier(0.87, 0, 0.13, 1)"
660
+
674
661
  class AccordionTrigger(AccordionComponent):
675
662
  @overload
676
663
  @classmethod
@@ -44,7 +44,7 @@ class FormRoot(FormComponent, HTMLForm):
44
44
  Returns:
45
45
  The style of the component.
46
46
  """
47
- return Style({"width": "100%"})
47
+ return Style({"width": "260px"})
48
48
 
49
49
 
50
50
  class FormField(FormComponent):