reflex 0.8.13a1__tar.gz → 0.8.14a1__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 (392) hide show
  1. {reflex-0.8.13a1 → reflex-0.8.14a1}/PKG-INFO +1 -1
  2. {reflex-0.8.13a1 → reflex-0.8.14a1}/pyproject.toml +2 -2
  3. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/app.py +25 -5
  4. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/upload.py +9 -13
  5. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/plotly/plotly.py +9 -9
  6. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/slider.py +3 -17
  7. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/slider.pyi +2 -4
  8. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/slider.py +1 -2
  9. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/slider.pyi +3 -6
  10. reflex-0.8.14a1/reflex/components/react_player/audio.pyi +87 -0
  11. reflex-0.8.14a1/reflex/components/react_player/react_player.pyi +108 -0
  12. reflex-0.8.14a1/reflex/components/react_player/video.pyi +87 -0
  13. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/constants/colors.py +1 -3
  14. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/constants/installer.py +5 -5
  15. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/custom_components/custom_components.py +18 -18
  16. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/environment.py +3 -0
  17. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/plugins/shared_tailwind.py +1 -1
  18. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/reflex.py +62 -24
  19. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/state.py +3 -2
  20. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/exec.py +23 -4
  21. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/frontend_skeleton.py +3 -5
  22. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/js_runtimes.py +10 -10
  23. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/prerequisites.py +5 -6
  24. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/processes.py +10 -11
  25. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/rename.py +3 -5
  26. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/serializers.py +3 -7
  27. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/templates.py +20 -22
  28. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/vars/color.py +2 -68
  29. reflex-0.8.13a1/reflex/components/react_player/audio.pyi +0 -110
  30. reflex-0.8.13a1/reflex/components/react_player/react_player.pyi +0 -113
  31. reflex-0.8.13a1/reflex/components/react_player/video.pyi +0 -110
  32. {reflex-0.8.13a1 → reflex-0.8.14a1}/.gitignore +0 -0
  33. {reflex-0.8.13a1 → reflex-0.8.14a1}/LICENSE +0 -0
  34. {reflex-0.8.13a1 → reflex-0.8.14a1}/README.md +0 -0
  35. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
  36. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/apps/blank/code/__init__.py +0 -0
  37. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/apps/blank/code/blank.py +0 -0
  38. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/.gitignore +0 -0
  39. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/app/entry.client.js +0 -0
  40. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/app/routes.js +0 -0
  41. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
  42. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/components/shiki/code.js +0 -0
  43. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/jsconfig.json +0 -0
  44. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/postcss.config.js +0 -0
  45. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/react-router.config.js +0 -0
  46. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/styles/__reflex_style_reset.css +0 -0
  47. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
  48. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
  49. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/utils/helpers/paste.js +0 -0
  50. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/utils/helpers/range.js +0 -0
  51. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
  52. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/utils/helpers/upload.js +0 -0
  53. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/utils/react-theme.js +0 -0
  54. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/utils/state.js +0 -0
  55. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/.templates/web/vite-plugin-safari-cachebust.js +0 -0
  56. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/__init__.py +0 -0
  57. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/__init__.pyi +0 -0
  58. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/__main__.py +0 -0
  59. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/admin.py +0 -0
  60. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/app_mixins/__init__.py +0 -0
  61. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/app_mixins/lifespan.py +0 -0
  62. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/app_mixins/middleware.py +0 -0
  63. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/app_mixins/mixin.py +0 -0
  64. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/assets.py +0 -0
  65. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/base.py +0 -0
  66. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/compiler/__init__.py +0 -0
  67. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/compiler/compiler.py +0 -0
  68. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/compiler/templates.py +0 -0
  69. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/compiler/utils.py +0 -0
  70. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/__init__.py +0 -0
  71. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/__init__.pyi +0 -0
  72. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/__init__.py +0 -0
  73. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/__init__.pyi +0 -0
  74. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/app_wrap.py +0 -0
  75. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/app_wrap.pyi +0 -0
  76. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/bare.py +0 -0
  77. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/body.py +0 -0
  78. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/body.pyi +0 -0
  79. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/document.py +0 -0
  80. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/document.pyi +0 -0
  81. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/error_boundary.py +0 -0
  82. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/error_boundary.pyi +0 -0
  83. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/fragment.py +0 -0
  84. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/fragment.pyi +0 -0
  85. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/link.py +0 -0
  86. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/link.pyi +0 -0
  87. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/meta.py +0 -0
  88. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/meta.pyi +0 -0
  89. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/script.py +0 -0
  90. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/script.pyi +0 -0
  91. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/strict_mode.py +0 -0
  92. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/base/strict_mode.pyi +0 -0
  93. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/component.py +0 -0
  94. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/__init__.py +0 -0
  95. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/__init__.pyi +0 -0
  96. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/auto_scroll.py +0 -0
  97. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/auto_scroll.pyi +0 -0
  98. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/banner.py +0 -0
  99. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/banner.pyi +0 -0
  100. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/breakpoints.py +0 -0
  101. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/clipboard.py +0 -0
  102. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/clipboard.pyi +0 -0
  103. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/colors.py +0 -0
  104. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/cond.py +0 -0
  105. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/debounce.py +0 -0
  106. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/debounce.pyi +0 -0
  107. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/foreach.py +0 -0
  108. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/helmet.py +0 -0
  109. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/helmet.pyi +0 -0
  110. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/html.py +0 -0
  111. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/html.pyi +0 -0
  112. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/layout/__init__.py +0 -0
  113. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/match.py +0 -0
  114. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/responsive.py +0 -0
  115. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/sticky.py +0 -0
  116. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/sticky.pyi +0 -0
  117. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/upload.pyi +0 -0
  118. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/window_events.py +0 -0
  119. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/core/window_events.pyi +0 -0
  120. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/datadisplay/__init__.py +0 -0
  121. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/datadisplay/__init__.pyi +0 -0
  122. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/datadisplay/code.py +0 -0
  123. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/datadisplay/code.pyi +0 -0
  124. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/datadisplay/dataeditor.py +0 -0
  125. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/datadisplay/dataeditor.pyi +0 -0
  126. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/datadisplay/logo.py +0 -0
  127. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/datadisplay/shiki_code_block.py +0 -0
  128. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
  129. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/dynamic.py +0 -0
  130. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/__init__.py +0 -0
  131. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/__init__.pyi +0 -0
  132. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/element.py +0 -0
  133. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/element.pyi +0 -0
  134. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/__init__.py +0 -0
  135. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/__init__.pyi +0 -0
  136. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/base.py +0 -0
  137. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/base.pyi +0 -0
  138. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/forms.py +0 -0
  139. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/forms.pyi +0 -0
  140. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/inline.py +0 -0
  141. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/inline.pyi +0 -0
  142. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/media.py +0 -0
  143. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/media.pyi +0 -0
  144. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/metadata.py +0 -0
  145. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/metadata.pyi +0 -0
  146. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/other.py +0 -0
  147. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/other.pyi +0 -0
  148. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/scripts.py +0 -0
  149. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/scripts.pyi +0 -0
  150. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/sectioning.py +0 -0
  151. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/sectioning.pyi +0 -0
  152. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/tables.py +0 -0
  153. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/tables.pyi +0 -0
  154. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/typography.py +0 -0
  155. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/el/elements/typography.pyi +0 -0
  156. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/field.py +0 -0
  157. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/gridjs/__init__.py +0 -0
  158. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/gridjs/datatable.py +0 -0
  159. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/gridjs/datatable.pyi +0 -0
  160. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/literals.py +0 -0
  161. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/lucide/__init__.py +0 -0
  162. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/lucide/icon.py +0 -0
  163. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/lucide/icon.pyi +0 -0
  164. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/markdown/__init__.py +0 -0
  165. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/markdown/markdown.py +0 -0
  166. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/markdown/markdown.pyi +0 -0
  167. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/moment/__init__.py +0 -0
  168. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/moment/moment.py +0 -0
  169. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/moment/moment.pyi +0 -0
  170. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/plotly/__init__.py +0 -0
  171. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/plotly/plotly.pyi +0 -0
  172. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/props.py +0 -0
  173. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/__init__.py +0 -0
  174. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/__init__.pyi +0 -0
  175. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/__init__.py +0 -0
  176. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/__init__.pyi +0 -0
  177. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/accordion.py +0 -0
  178. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/accordion.pyi +0 -0
  179. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/base.py +0 -0
  180. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/base.pyi +0 -0
  181. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/drawer.py +0 -0
  182. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/drawer.pyi +0 -0
  183. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/form.py +0 -0
  184. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/form.pyi +0 -0
  185. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/progress.py +0 -0
  186. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/primitives/progress.pyi +0 -0
  187. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/__init__.py +0 -0
  188. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/__init__.pyi +0 -0
  189. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/base.py +0 -0
  190. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/base.pyi +0 -0
  191. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/color_mode.py +0 -0
  192. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/color_mode.pyi +0 -0
  193. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/__init__.py +0 -0
  194. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/__init__.pyi +0 -0
  195. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
  196. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
  197. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
  198. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
  199. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/avatar.py +0 -0
  200. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/avatar.pyi +0 -0
  201. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/badge.py +0 -0
  202. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/badge.pyi +0 -0
  203. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/button.py +0 -0
  204. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/button.pyi +0 -0
  205. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/callout.py +0 -0
  206. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/callout.pyi +0 -0
  207. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/card.py +0 -0
  208. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/card.pyi +0 -0
  209. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/checkbox.py +0 -0
  210. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
  211. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
  212. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
  213. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
  214. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
  215. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/context_menu.py +0 -0
  216. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
  217. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/data_list.py +0 -0
  218. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/data_list.pyi +0 -0
  219. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/dialog.py +0 -0
  220. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/dialog.pyi +0 -0
  221. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
  222. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
  223. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/hover_card.py +0 -0
  224. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
  225. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/icon_button.py +0 -0
  226. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
  227. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/inset.py +0 -0
  228. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/inset.pyi +0 -0
  229. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/popover.py +0 -0
  230. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/popover.pyi +0 -0
  231. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/progress.py +0 -0
  232. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/progress.pyi +0 -0
  233. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/radio.py +0 -0
  234. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/radio.pyi +0 -0
  235. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/radio_cards.py +0 -0
  236. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
  237. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/radio_group.py +0 -0
  238. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
  239. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/scroll_area.py +0 -0
  240. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
  241. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/segmented_control.py +0 -0
  242. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
  243. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/select.py +0 -0
  244. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/select.pyi +0 -0
  245. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/separator.py +0 -0
  246. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/separator.pyi +0 -0
  247. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/skeleton.py +0 -0
  248. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
  249. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/spinner.py +0 -0
  250. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/spinner.pyi +0 -0
  251. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/switch.py +0 -0
  252. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/switch.pyi +0 -0
  253. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/table.py +0 -0
  254. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/table.pyi +0 -0
  255. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/tabs.py +0 -0
  256. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/tabs.pyi +0 -0
  257. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/text_area.py +0 -0
  258. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/text_area.pyi +0 -0
  259. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/text_field.py +0 -0
  260. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/text_field.pyi +0 -0
  261. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/tooltip.py +0 -0
  262. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
  263. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/__init__.py +0 -0
  264. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
  265. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/base.py +0 -0
  266. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/base.pyi +0 -0
  267. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/box.py +0 -0
  268. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/box.pyi +0 -0
  269. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/center.py +0 -0
  270. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/center.pyi +0 -0
  271. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/container.py +0 -0
  272. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/container.pyi +0 -0
  273. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/flex.py +0 -0
  274. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/flex.pyi +0 -0
  275. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/grid.py +0 -0
  276. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/grid.pyi +0 -0
  277. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/list.py +0 -0
  278. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/list.pyi +0 -0
  279. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/section.py +0 -0
  280. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/section.pyi +0 -0
  281. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/spacer.py +0 -0
  282. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
  283. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/stack.py +0 -0
  284. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/layout/stack.pyi +0 -0
  285. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/__init__.py +0 -0
  286. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
  287. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/base.py +0 -0
  288. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/blockquote.py +0 -0
  289. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
  290. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/code.py +0 -0
  291. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/code.pyi +0 -0
  292. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/heading.py +0 -0
  293. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/heading.pyi +0 -0
  294. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/link.py +0 -0
  295. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/link.pyi +0 -0
  296. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/text.py +0 -0
  297. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/radix/themes/typography/text.pyi +0 -0
  298. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/react_player/__init__.py +0 -0
  299. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/react_player/audio.py +0 -0
  300. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/react_player/react_player.py +0 -0
  301. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/react_player/video.py +0 -0
  302. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/react_router/__init__.py +0 -0
  303. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/react_router/dom.py +0 -0
  304. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/react_router/dom.pyi +0 -0
  305. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/__init__.py +0 -0
  306. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/__init__.pyi +0 -0
  307. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/cartesian.py +0 -0
  308. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/cartesian.pyi +0 -0
  309. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/charts.py +0 -0
  310. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/charts.pyi +0 -0
  311. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/general.py +0 -0
  312. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/general.pyi +0 -0
  313. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/polar.py +0 -0
  314. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/polar.pyi +0 -0
  315. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/recharts.py +0 -0
  316. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/recharts/recharts.pyi +0 -0
  317. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/sonner/__init__.py +0 -0
  318. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/sonner/toast.py +0 -0
  319. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/sonner/toast.pyi +0 -0
  320. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/tags/__init__.py +0 -0
  321. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/tags/cond_tag.py +0 -0
  322. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/tags/iter_tag.py +0 -0
  323. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/tags/match_tag.py +0 -0
  324. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/tags/tag.py +0 -0
  325. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/components/tags/tagless.py +0 -0
  326. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/config.py +0 -0
  327. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/constants/__init__.py +0 -0
  328. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/constants/base.py +0 -0
  329. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/constants/compiler.py +0 -0
  330. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/constants/config.py +0 -0
  331. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/constants/custom_components.py +0 -0
  332. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/constants/event.py +0 -0
  333. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/constants/route.py +0 -0
  334. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/constants/state.py +0 -0
  335. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/constants/utils.py +0 -0
  336. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/custom_components/__init__.py +0 -0
  337. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/event.py +0 -0
  338. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/experimental/__init__.py +0 -0
  339. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/experimental/client_state.py +0 -0
  340. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/experimental/hooks.py +0 -0
  341. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/istate/__init__.py +0 -0
  342. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/istate/data.py +0 -0
  343. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/istate/dynamic.py +0 -0
  344. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/istate/manager.py +0 -0
  345. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/istate/proxy.py +0 -0
  346. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/istate/storage.py +0 -0
  347. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/istate/wrappers.py +0 -0
  348. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/middleware/__init__.py +0 -0
  349. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/middleware/hydrate_middleware.py +0 -0
  350. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/middleware/middleware.py +0 -0
  351. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/model.py +0 -0
  352. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/page.py +0 -0
  353. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/plugins/__init__.py +0 -0
  354. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/plugins/_screenshot.py +0 -0
  355. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/plugins/base.py +0 -0
  356. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/plugins/sitemap.py +0 -0
  357. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/plugins/tailwind_v3.py +0 -0
  358. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/plugins/tailwind_v4.py +0 -0
  359. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/py.typed +0 -0
  360. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/route.py +0 -0
  361. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/style.py +0 -0
  362. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/testing.py +0 -0
  363. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/__init__.py +0 -0
  364. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/build.py +0 -0
  365. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/codespaces.py +0 -0
  366. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/compat.py +0 -0
  367. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/console.py +0 -0
  368. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/decorator.py +0 -0
  369. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/exceptions.py +0 -0
  370. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/export.py +0 -0
  371. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/format.py +0 -0
  372. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/imports.py +0 -0
  373. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/lazy_loader.py +0 -0
  374. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/misc.py +0 -0
  375. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/monitoring.py +0 -0
  376. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/net.py +0 -0
  377. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/path_ops.py +0 -0
  378. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/pyi_generator.py +0 -0
  379. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/redir.py +0 -0
  380. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/registry.py +0 -0
  381. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/telemetry.py +0 -0
  382. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/token_manager.py +0 -0
  383. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/utils/types.py +0 -0
  384. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/vars/__init__.py +0 -0
  385. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/vars/base.py +0 -0
  386. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/vars/datetime.py +0 -0
  387. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/vars/dep_tracking.py +0 -0
  388. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/vars/function.py +0 -0
  389. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/vars/number.py +0 -0
  390. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/vars/object.py +0 -0
  391. {reflex-0.8.13a1 → reflex-0.8.14a1}/reflex/vars/sequence.py +0 -0
  392. {reflex-0.8.13a1 → reflex-0.8.14a1}/scripts/hatch_build.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: reflex
3
- Version: 0.8.13a1
3
+ Version: 0.8.14a1
4
4
  Summary: Web apps in pure Python.
5
5
  Project-URL: homepage, https://reflex.dev
6
6
  Project-URL: repository, https://github.com/reflex-dev/reflex
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "reflex"
3
- version = "0.8.13a1"
3
+ version = "0.8.14a1"
4
4
  description = "Web apps in pure Python."
5
5
  license.text = "Apache-2.0"
6
6
  authors = [
@@ -229,7 +229,7 @@ fail_fast = true
229
229
 
230
230
  [[tool.pre-commit.repos]]
231
231
  repo = "https://github.com/astral-sh/ruff-pre-commit"
232
- rev = "v0.13.1"
232
+ rev = "v0.13.2"
233
233
  hooks = [
234
234
  { id = "ruff-format", args = [
235
235
  "reflex",
@@ -69,7 +69,6 @@ from reflex.components.core.banner import (
69
69
  )
70
70
  from reflex.components.core.breakpoints import set_breakpoints
71
71
  from reflex.components.core.sticky import sticky
72
- from reflex.components.core.upload import Upload, get_upload_dir
73
72
  from reflex.components.radix import themes
74
73
  from reflex.components.sonner.toast import toast
75
74
  from reflex.config import get_config
@@ -628,6 +627,18 @@ class App(MiddlewareMixin, LifespanMixin):
628
627
 
629
628
  asgi_app = self._api
630
629
 
630
+ if environment.REFLEX_MOUNT_FRONTEND_COMPILED_APP.get():
631
+ asgi_app.mount(
632
+ "/" + config.frontend_path.strip("/"),
633
+ StaticFiles(
634
+ directory=prerequisites.get_web_dir()
635
+ / constants.Dirs.STATIC
636
+ / config.frontend_path.strip("/"),
637
+ html=True,
638
+ ),
639
+ name="frontend",
640
+ )
641
+
631
642
  if self.api_transformer is not None:
632
643
  api_transformers: Sequence[Starlette | Callable[[ASGIApp], ASGIApp]] = (
633
644
  [self.api_transformer]
@@ -670,6 +681,8 @@ class App(MiddlewareMixin, LifespanMixin):
670
681
 
671
682
  def _add_optional_endpoints(self):
672
683
  """Add optional api endpoints (_upload)."""
684
+ from reflex.components.core.upload import Upload, get_upload_dir
685
+
673
686
  if not self._api:
674
687
  return
675
688
  upload_is_used_marker = (
@@ -1010,11 +1023,18 @@ class App(MiddlewareMixin, LifespanMixin):
1010
1023
  for component in tuple(app_wrappers.values()):
1011
1024
  app_wrappers.update(component._get_all_app_wrap_components())
1012
1025
  order = sorted(app_wrappers, key=lambda k: k[0], reverse=True)
1013
- root = parent = copy.deepcopy(app_wrappers[order[0]])
1014
- for key in order[1:]:
1026
+ root = copy.deepcopy(app_wrappers[order[0]])
1027
+
1028
+ def reducer(parent: Component, key: tuple[int, str]) -> Component:
1015
1029
  child = copy.deepcopy(app_wrappers[key])
1016
1030
  parent.children.append(child)
1017
- parent = child
1031
+ return child
1032
+
1033
+ functools.reduce(
1034
+ lambda parent, key: reducer(parent, key),
1035
+ order[1:],
1036
+ root,
1037
+ )
1018
1038
  return root
1019
1039
 
1020
1040
  def _should_compile(self) -> bool:
@@ -1274,7 +1294,7 @@ class App(MiddlewareMixin, LifespanMixin):
1274
1294
 
1275
1295
  toast_provider = Fragment.create(memoized_toast_provider())
1276
1296
 
1277
- app_wrappers[(1, "ToasterProvider")] = toast_provider
1297
+ app_wrappers[(44, "ToasterProvider")] = toast_provider
1278
1298
 
1279
1299
  # Add the app wraps to the app.
1280
1300
  for key, app_wrap in chain(
@@ -6,6 +6,7 @@ from collections.abc import Callable, Sequence
6
6
  from pathlib import Path
7
7
  from typing import Any, ClassVar
8
8
 
9
+ from reflex.app import UploadFile
9
10
  from reflex.components.base.fragment import Fragment
10
11
  from reflex.components.component import (
11
12
  Component,
@@ -29,7 +30,9 @@ from reflex.event import (
29
30
  call_event_fn,
30
31
  call_event_handler,
31
32
  parse_args_spec,
33
+ passthrough_event_spec,
32
34
  run_script,
35
+ upload_files,
33
36
  )
34
37
  from reflex.style import Style
35
38
  from reflex.utils import format
@@ -168,16 +171,7 @@ def get_upload_url(file_path: str | Var[str]) -> Var[str]:
168
171
  return Var.create(f"{uploaded_files_url_prefix}/{file_path}")
169
172
 
170
173
 
171
- def _on_drop_spec(files: Var) -> tuple[Var[Any]]:
172
- """Args spec for the on_drop event trigger.
173
-
174
- Args:
175
- files: The files to upload.
176
-
177
- Returns:
178
- Signature for on_drop handler including the files to upload.
179
- """
180
- return (files,)
174
+ _on_drop_spec = passthrough_event_spec(list[UploadFile])
181
175
 
182
176
 
183
177
  def _default_drop_rejected(rejected_files: ArrayVar[list[dict[str, Any]]]) -> EventSpec:
@@ -302,11 +296,11 @@ class Upload(MemoizationLeaf):
302
296
  }
303
297
 
304
298
  # Create the component.
305
- upload_props["id"] = props.get("id", DEFAULT_UPLOAD_ID)
299
+ upload_props["id"] = upload_id = props.get("id", DEFAULT_UPLOAD_ID)
306
300
 
307
301
  if upload_props.get("on_drop") is None:
308
302
  # If on_drop is not provided, save files to be uploaded later.
309
- upload_props["on_drop"] = upload_file(upload_props["id"])
303
+ upload_props["on_drop"] = upload_file(upload_id)
310
304
  else:
311
305
  on_drop = (
312
306
  [on_drop_prop]
@@ -314,7 +308,9 @@ class Upload(MemoizationLeaf):
314
308
  else list(on_drop_prop)
315
309
  )
316
310
  for ix, event in enumerate(on_drop):
317
- if isinstance(event, (EventHandler, EventSpec)):
311
+ if isinstance(event, EventHandler):
312
+ event = event(upload_files(upload_id))
313
+ if isinstance(event, EventSpec):
318
314
  # Call the lambda to get the event chain.
319
315
  event = call_event_handler(event, _on_drop_spec)
320
316
  elif isinstance(event, Callable):
@@ -72,7 +72,7 @@ class Plotly(NoSSRComponent):
72
72
 
73
73
  library = "react-plotly.js@2.6.0"
74
74
 
75
- lib_dependencies: list[str] = ["plotly.js@3.1.0"]
75
+ lib_dependencies: list[str] = ["plotly.js@3.1.1"]
76
76
 
77
77
  tag = "Plot"
78
78
 
@@ -303,7 +303,7 @@ class PlotlyBasic(Plotly):
303
303
 
304
304
  library = "react-plotly.js@2.6.0"
305
305
 
306
- lib_dependencies: list[str] = ["plotly.js-basic-dist-min@3.1.0"]
306
+ lib_dependencies: list[str] = ["plotly.js-basic-dist-min@3.1.1"]
307
307
 
308
308
  def add_imports(self) -> ImportDict | list[ImportDict]:
309
309
  """Add imports for the plotly basic component.
@@ -329,7 +329,7 @@ class PlotlyCartesian(Plotly):
329
329
 
330
330
  library = "react-plotly.js@2.6.0"
331
331
 
332
- lib_dependencies: list[str] = ["plotly.js-cartesian-dist-min@3.1.0"]
332
+ lib_dependencies: list[str] = ["plotly.js-cartesian-dist-min@3.1.1"]
333
333
 
334
334
  def add_imports(self) -> ImportDict | list[ImportDict]:
335
335
  """Add imports for the plotly cartesian component.
@@ -355,7 +355,7 @@ class PlotlyGeo(Plotly):
355
355
 
356
356
  library = "react-plotly.js@2.6.0"
357
357
 
358
- lib_dependencies: list[str] = ["plotly.js-geo-dist-min@3.1.0"]
358
+ lib_dependencies: list[str] = ["plotly.js-geo-dist-min@3.1.1"]
359
359
 
360
360
  def add_imports(self) -> ImportDict | list[ImportDict]:
361
361
  """Add imports for the plotly geo component.
@@ -381,7 +381,7 @@ class PlotlyGl3d(Plotly):
381
381
 
382
382
  library = "react-plotly.js@2.6.0"
383
383
 
384
- lib_dependencies: list[str] = ["plotly.js-gl3d-dist-min@3.1.0"]
384
+ lib_dependencies: list[str] = ["plotly.js-gl3d-dist-min@3.1.1"]
385
385
 
386
386
  def add_imports(self) -> ImportDict | list[ImportDict]:
387
387
  """Add imports for the plotly 3d component.
@@ -407,7 +407,7 @@ class PlotlyGl2d(Plotly):
407
407
 
408
408
  library = "react-plotly.js@2.6.0"
409
409
 
410
- lib_dependencies: list[str] = ["plotly.js-gl2d-dist-min@3.1.0"]
410
+ lib_dependencies: list[str] = ["plotly.js-gl2d-dist-min@3.1.1"]
411
411
 
412
412
  def add_imports(self) -> ImportDict | list[ImportDict]:
413
413
  """Add imports for the plotly 2d component.
@@ -433,7 +433,7 @@ class PlotlyMapbox(Plotly):
433
433
 
434
434
  library = "react-plotly.js@2.6.0"
435
435
 
436
- lib_dependencies: list[str] = ["plotly.js-mapbox-dist-min@3.1.0"]
436
+ lib_dependencies: list[str] = ["plotly.js-mapbox-dist-min@3.1.1"]
437
437
 
438
438
  def add_imports(self) -> ImportDict | list[ImportDict]:
439
439
  """Add imports for the plotly mapbox component.
@@ -459,7 +459,7 @@ class PlotlyFinance(Plotly):
459
459
 
460
460
  library = "react-plotly.js@2.6.0"
461
461
 
462
- lib_dependencies: list[str] = ["plotly.js-finance-dist-min@3.1.0"]
462
+ lib_dependencies: list[str] = ["plotly.js-finance-dist-min@3.1.1"]
463
463
 
464
464
  def add_imports(self) -> ImportDict | list[ImportDict]:
465
465
  """Add imports for the plotly finance component.
@@ -485,7 +485,7 @@ class PlotlyStrict(Plotly):
485
485
 
486
486
  library = "react-plotly.js@2.6.0"
487
487
 
488
- lib_dependencies: list[str] = ["plotly.js-strict-dist-min@3.1.0"]
488
+ lib_dependencies: list[str] = ["plotly.js-strict-dist-min@3.1.1"]
489
489
 
490
490
  def add_imports(self) -> ImportDict | list[ImportDict]:
491
491
  """Add imports for the plotly strict component.
@@ -7,7 +7,7 @@ from typing import Any, Literal
7
7
 
8
8
  from reflex.components.component import Component, ComponentNamespace
9
9
  from reflex.components.radix.primitives.base import RadixPrimitiveComponentWithClassName
10
- from reflex.event import EventHandler
10
+ from reflex.event import EventHandler, passthrough_event_spec
11
11
  from reflex.vars.base import Var
12
12
 
13
13
  LiteralSliderOrientation = Literal["horizontal", "vertical"]
@@ -20,20 +20,6 @@ class SliderComponent(RadixPrimitiveComponentWithClassName):
20
20
  library = "@radix-ui/react-slider@1.3.6"
21
21
 
22
22
 
23
- def on_value_event_spec(
24
- value: Var[list[int]],
25
- ) -> tuple[Var[list[int]]]:
26
- """Event handler spec for the value event.
27
-
28
- Args:
29
- value: The value of the event.
30
-
31
- Returns:
32
- The event handler spec.
33
- """
34
- return (value,)
35
-
36
-
37
23
  class SliderRoot(SliderComponent):
38
24
  """The Slider component containing all slider parts."""
39
25
 
@@ -63,10 +49,10 @@ class SliderRoot(SliderComponent):
63
49
  min_steps_between_thumbs: Var[int]
64
50
 
65
51
  # Fired when the value of a thumb changes.
66
- on_value_change: EventHandler[on_value_event_spec]
52
+ on_value_change: EventHandler[passthrough_event_spec(list[float])]
67
53
 
68
54
  # Fired when a thumb is released.
69
- on_value_commit: EventHandler[on_value_event_spec]
55
+ on_value_commit: EventHandler[passthrough_event_spec(list[float])]
70
56
 
71
57
  def add_style(self) -> dict[str, Any] | None:
72
58
  """Add style to the component.
@@ -66,8 +66,6 @@ class SliderComponent(RadixPrimitiveComponentWithClassName):
66
66
  The component.
67
67
  """
68
68
 
69
- def on_value_event_spec(value: Var[list[int]]) -> tuple[Var[list[int]]]: ...
70
-
71
69
  class SliderRoot(SliderComponent):
72
70
  def add_style(self) -> dict[str, Any] | None: ...
73
71
  @classmethod
@@ -114,8 +112,8 @@ class SliderRoot(SliderComponent):
114
112
  on_scroll: EventType[()] | None = None,
115
113
  on_scroll_end: EventType[()] | None = None,
116
114
  on_unmount: EventType[()] | None = None,
117
- on_value_change: EventType[()] | EventType[list[int]] | None = None,
118
- on_value_commit: EventType[()] | EventType[list[int]] | None = None,
115
+ on_value_change: EventType[()] | EventType[list[float]] | None = None,
116
+ on_value_commit: EventType[()] | EventType[list[float]] | None = None,
119
117
  **props,
120
118
  ) -> SliderRoot:
121
119
  """Create the component.
@@ -13,9 +13,8 @@ from reflex.utils.types import typehint_issubclass
13
13
  from reflex.vars.base import Var
14
14
 
15
15
  on_value_event_spec = (
16
- passthrough_event_spec(list[int | float]),
17
- passthrough_event_spec(list[int]),
18
16
  passthrough_event_spec(list[float]),
17
+ passthrough_event_spec(list[int]),
19
18
  )
20
19
 
21
20
 
@@ -12,9 +12,8 @@ from reflex.event import EventType, PointerEventInfo, passthrough_event_spec
12
12
  from reflex.vars.base import Var
13
13
 
14
14
  on_value_event_spec = (
15
- passthrough_event_spec(list[int | float]),
16
- passthrough_event_spec(list[int]),
17
15
  passthrough_event_spec(list[float]),
16
+ passthrough_event_spec(list[int]),
18
17
  )
19
18
 
20
19
  class Slider(RadixThemesComponent):
@@ -120,9 +119,8 @@ class Slider(RadixThemesComponent):
120
119
  custom_attrs: dict[str, Var | Any] | None = None,
121
120
  on_blur: EventType[()] | None = None,
122
121
  on_change: EventType[()]
123
- | EventType[list[int | float]]
122
+ | EventType[list[float]]
124
123
  | (EventType[()] | EventType[list[int]])
125
- | (EventType[()] | EventType[list[float]])
126
124
  | None = None,
127
125
  on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
128
126
  on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
@@ -140,9 +138,8 @@ class Slider(RadixThemesComponent):
140
138
  on_scroll_end: EventType[()] | None = None,
141
139
  on_unmount: EventType[()] | None = None,
142
140
  on_value_commit: EventType[()]
143
- | EventType[list[int | float]]
141
+ | EventType[list[float]]
144
142
  | (EventType[()] | EventType[list[int]])
145
- | (EventType[()] | EventType[list[float]])
146
143
  | None = None,
147
144
  **props,
148
145
  ) -> Slider:
@@ -0,0 +1,87 @@
1
+ """Stub file for reflex/components/react_player/audio.py"""
2
+
3
+ # ------------------- DO NOT EDIT ----------------------
4
+ # This file was generated by `reflex/utils/pyi_generator.py`!
5
+ # ------------------------------------------------------
6
+ from collections.abc import Mapping, Sequence
7
+ from typing import Any
8
+
9
+ from reflex.components.core.breakpoints import Breakpoints
10
+ from reflex.components.react_player.react_player import ReactPlayer
11
+ from reflex.event import EventType, PointerEventInfo
12
+ from reflex.vars.base import Var
13
+
14
+ class Audio(ReactPlayer):
15
+ @classmethod
16
+ def create(
17
+ cls,
18
+ *children,
19
+ src: Var[list[dict[str, str]] | list[str] | str]
20
+ | list[dict[str, str]]
21
+ | list[str]
22
+ | str
23
+ | None = None,
24
+ playing: Var[bool] | bool | None = None,
25
+ loop: Var[bool] | bool | None = None,
26
+ controls: Var[bool] | bool | None = None,
27
+ light: Var[bool] | bool | None = None,
28
+ volume: Var[float] | float | None = None,
29
+ muted: Var[bool] | bool | None = None,
30
+ config: Var[dict[str, Any]] | dict[str, Any] | None = None,
31
+ style: Sequence[Mapping[str, Any]]
32
+ | Mapping[str, Any]
33
+ | Var[Mapping[str, Any]]
34
+ | Breakpoints
35
+ | None = None,
36
+ key: Any | None = None,
37
+ id: Any | None = None,
38
+ ref: Var | None = None,
39
+ class_name: Any | None = None,
40
+ custom_attrs: dict[str, Var | Any] | None = None,
41
+ on_blur: EventType[()] | None = None,
42
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
43
+ on_click_preview: EventType[()] | None = None,
44
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
45
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
46
+ on_duration_change: EventType[Any] | None = None,
47
+ on_ended: EventType[()] | None = None,
48
+ on_enter_picture_in_picture: EventType[()] | None = None,
49
+ on_error: EventType[()] | None = None,
50
+ on_focus: EventType[()] | None = None,
51
+ on_leave_picture_in_picture: EventType[()] | None = None,
52
+ on_mount: EventType[()] | None = None,
53
+ on_mouse_down: EventType[()] | None = None,
54
+ on_mouse_enter: EventType[()] | None = None,
55
+ on_mouse_leave: EventType[()] | None = None,
56
+ on_mouse_move: EventType[()] | None = None,
57
+ on_mouse_out: EventType[()] | None = None,
58
+ on_mouse_over: EventType[()] | None = None,
59
+ on_mouse_up: EventType[()] | None = None,
60
+ on_pause: EventType[()] | None = None,
61
+ on_play: EventType[()] | None = None,
62
+ on_playing: EventType[()] | None = None,
63
+ on_progress: EventType[Any] | None = None,
64
+ on_rate_change: EventType[Any] | None = None,
65
+ on_ready: EventType[()] | None = None,
66
+ on_scroll: EventType[()] | None = None,
67
+ on_scroll_end: EventType[()] | None = None,
68
+ on_seeked: EventType[Any] | None = None,
69
+ on_seeking: EventType[()] | None = None,
70
+ on_start: EventType[()] | None = None,
71
+ on_time_update: EventType[Any] | None = None,
72
+ on_unmount: EventType[()] | None = None,
73
+ on_waiting: EventType[()] | None = None,
74
+ **props,
75
+ ) -> Audio:
76
+ """Create a component.
77
+
78
+ Args:
79
+ children: The children of the component.
80
+ props: The props of the component.
81
+
82
+ Returns:
83
+ The created component.
84
+
85
+ Raises:
86
+ ValueError: If both a deprecated prop and its replacement are both passed.
87
+ """
@@ -0,0 +1,108 @@
1
+ """Stub file for reflex/components/react_player/react_player.py"""
2
+
3
+ # ------------------- DO NOT EDIT ----------------------
4
+ # This file was generated by `reflex/utils/pyi_generator.py`!
5
+ # ------------------------------------------------------
6
+ from collections.abc import Mapping, Sequence
7
+ from typing import Any, TypedDict
8
+
9
+ from reflex.components.component import Component
10
+ from reflex.components.core.breakpoints import Breakpoints
11
+ from reflex.event import EventType, PointerEventInfo
12
+ from reflex.vars.base import Var
13
+ from reflex.vars.object import ObjectVar
14
+
15
+ ReactPlayerEvent = ObjectVar[dict[str, dict[str, dict[str, Any]]]]
16
+
17
+ class Progress(TypedDict):
18
+ played: float
19
+ playedSeconds: float
20
+ loaded: float
21
+ loadedSeconds: float
22
+ duration: float
23
+
24
+ _DEPRECATED_PROP_MAP = {
25
+ "url": "src",
26
+ "on_duration": "on_duration_change",
27
+ "on_playback_rate_change": "on_rate_change",
28
+ "on_seek": "on_seeked",
29
+ "on_buffer": "on_waiting",
30
+ "on_buffer_end": "on_playing",
31
+ "on_enable_pip": "on_enter_picture_in_picture",
32
+ "on_disable_pip": "on_leave_picture_in_picture",
33
+ }
34
+
35
+ class ReactPlayer(Component):
36
+ @classmethod
37
+ def create(
38
+ cls,
39
+ *children,
40
+ src: Var[list[dict[str, str]] | list[str] | str]
41
+ | list[dict[str, str]]
42
+ | list[str]
43
+ | str
44
+ | None = None,
45
+ playing: Var[bool] | bool | None = None,
46
+ loop: Var[bool] | bool | None = None,
47
+ controls: Var[bool] | bool | None = None,
48
+ light: Var[bool] | bool | None = None,
49
+ volume: Var[float] | float | None = None,
50
+ muted: Var[bool] | bool | None = None,
51
+ config: Var[dict[str, Any]] | dict[str, Any] | None = None,
52
+ style: Sequence[Mapping[str, Any]]
53
+ | Mapping[str, Any]
54
+ | Var[Mapping[str, Any]]
55
+ | Breakpoints
56
+ | None = None,
57
+ key: Any | None = None,
58
+ id: Any | None = None,
59
+ ref: Var | None = None,
60
+ class_name: Any | None = None,
61
+ custom_attrs: dict[str, Var | Any] | None = None,
62
+ on_blur: EventType[()] | None = None,
63
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
64
+ on_click_preview: EventType[()] | None = None,
65
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
66
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
67
+ on_duration_change: EventType[Any] | None = None,
68
+ on_ended: EventType[()] | None = None,
69
+ on_enter_picture_in_picture: EventType[()] | None = None,
70
+ on_error: EventType[()] | None = None,
71
+ on_focus: EventType[()] | None = None,
72
+ on_leave_picture_in_picture: EventType[()] | None = None,
73
+ on_mount: EventType[()] | None = None,
74
+ on_mouse_down: EventType[()] | None = None,
75
+ on_mouse_enter: EventType[()] | None = None,
76
+ on_mouse_leave: EventType[()] | None = None,
77
+ on_mouse_move: EventType[()] | None = None,
78
+ on_mouse_out: EventType[()] | None = None,
79
+ on_mouse_over: EventType[()] | None = None,
80
+ on_mouse_up: EventType[()] | None = None,
81
+ on_pause: EventType[()] | None = None,
82
+ on_play: EventType[()] | None = None,
83
+ on_playing: EventType[()] | None = None,
84
+ on_progress: EventType[Any] | None = None,
85
+ on_rate_change: EventType[Any] | None = None,
86
+ on_ready: EventType[()] | None = None,
87
+ on_scroll: EventType[()] | None = None,
88
+ on_scroll_end: EventType[()] | None = None,
89
+ on_seeked: EventType[Any] | None = None,
90
+ on_seeking: EventType[()] | None = None,
91
+ on_start: EventType[()] | None = None,
92
+ on_time_update: EventType[Any] | None = None,
93
+ on_unmount: EventType[()] | None = None,
94
+ on_waiting: EventType[()] | None = None,
95
+ **props,
96
+ ) -> ReactPlayer:
97
+ """Create a component.
98
+
99
+ Args:
100
+ children: The children of the component.
101
+ props: The props of the component.
102
+
103
+ Returns:
104
+ The created component.
105
+
106
+ Raises:
107
+ ValueError: If both a deprecated prop and its replacement are both passed.
108
+ """
@@ -0,0 +1,87 @@
1
+ """Stub file for reflex/components/react_player/video.py"""
2
+
3
+ # ------------------- DO NOT EDIT ----------------------
4
+ # This file was generated by `reflex/utils/pyi_generator.py`!
5
+ # ------------------------------------------------------
6
+ from collections.abc import Mapping, Sequence
7
+ from typing import Any
8
+
9
+ from reflex.components.core.breakpoints import Breakpoints
10
+ from reflex.components.react_player.react_player import ReactPlayer
11
+ from reflex.event import EventType, PointerEventInfo
12
+ from reflex.vars.base import Var
13
+
14
+ class Video(ReactPlayer):
15
+ @classmethod
16
+ def create(
17
+ cls,
18
+ *children,
19
+ src: Var[list[dict[str, str]] | list[str] | str]
20
+ | list[dict[str, str]]
21
+ | list[str]
22
+ | str
23
+ | None = None,
24
+ playing: Var[bool] | bool | None = None,
25
+ loop: Var[bool] | bool | None = None,
26
+ controls: Var[bool] | bool | None = None,
27
+ light: Var[bool] | bool | None = None,
28
+ volume: Var[float] | float | None = None,
29
+ muted: Var[bool] | bool | None = None,
30
+ config: Var[dict[str, Any]] | dict[str, Any] | None = None,
31
+ style: Sequence[Mapping[str, Any]]
32
+ | Mapping[str, Any]
33
+ | Var[Mapping[str, Any]]
34
+ | Breakpoints
35
+ | None = None,
36
+ key: Any | None = None,
37
+ id: Any | None = None,
38
+ ref: Var | None = None,
39
+ class_name: Any | None = None,
40
+ custom_attrs: dict[str, Var | Any] | None = None,
41
+ on_blur: EventType[()] | None = None,
42
+ on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
43
+ on_click_preview: EventType[()] | None = None,
44
+ on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
45
+ on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
46
+ on_duration_change: EventType[Any] | None = None,
47
+ on_ended: EventType[()] | None = None,
48
+ on_enter_picture_in_picture: EventType[()] | None = None,
49
+ on_error: EventType[()] | None = None,
50
+ on_focus: EventType[()] | None = None,
51
+ on_leave_picture_in_picture: EventType[()] | None = None,
52
+ on_mount: EventType[()] | None = None,
53
+ on_mouse_down: EventType[()] | None = None,
54
+ on_mouse_enter: EventType[()] | None = None,
55
+ on_mouse_leave: EventType[()] | None = None,
56
+ on_mouse_move: EventType[()] | None = None,
57
+ on_mouse_out: EventType[()] | None = None,
58
+ on_mouse_over: EventType[()] | None = None,
59
+ on_mouse_up: EventType[()] | None = None,
60
+ on_pause: EventType[()] | None = None,
61
+ on_play: EventType[()] | None = None,
62
+ on_playing: EventType[()] | None = None,
63
+ on_progress: EventType[Any] | None = None,
64
+ on_rate_change: EventType[Any] | None = None,
65
+ on_ready: EventType[()] | None = None,
66
+ on_scroll: EventType[()] | None = None,
67
+ on_scroll_end: EventType[()] | None = None,
68
+ on_seeked: EventType[Any] | None = None,
69
+ on_seeking: EventType[()] | None = None,
70
+ on_start: EventType[()] | None = None,
71
+ on_time_update: EventType[Any] | None = None,
72
+ on_unmount: EventType[()] | None = None,
73
+ on_waiting: EventType[()] | None = None,
74
+ **props,
75
+ ) -> Video:
76
+ """Create a component.
77
+
78
+ Args:
79
+ children: The children of the component.
80
+ props: The props of the component.
81
+
82
+ Returns:
83
+ The created component.
84
+
85
+ Raises:
86
+ ValueError: If both a deprecated prop and its replacement are both passed.
87
+ """
@@ -96,6 +96,4 @@ class Color:
96
96
  Returns:
97
97
  The formatted color.
98
98
  """
99
- from reflex.vars import LiteralColorVar
100
-
101
- return LiteralColorVar.create(self).__format__(format_spec)
99
+ return format_color(self.color, self.shade, self.alpha)
@@ -14,7 +14,7 @@ class Bun(SimpleNamespace):
14
14
  """Bun constants."""
15
15
 
16
16
  # The Bun version.
17
- VERSION = "1.2.22"
17
+ VERSION = "1.2.23"
18
18
 
19
19
  # Min Bun Version
20
20
  MIN_VERSION = "1.2.17"
@@ -75,7 +75,7 @@ fetch-retries=0
75
75
 
76
76
 
77
77
  def _determine_react_router_version() -> str:
78
- default_version = "7.9.1"
78
+ default_version = "7.9.3"
79
79
  if (version := os.getenv("REACT_ROUTER_VERSION")) and version != default_version:
80
80
  from reflex.utils import console
81
81
 
@@ -131,7 +131,7 @@ class PackageJson(SimpleNamespace):
131
131
  "react": cls._react_version,
132
132
  "react-helmet": "6.1.0",
133
133
  "react-dom": cls._react_version,
134
- "isbot": "5.1.30",
134
+ "isbot": "5.1.31",
135
135
  "socket.io-client": "4.8.1",
136
136
  "universal-cookie": "7.2.2",
137
137
  }
@@ -143,11 +143,11 @@ class PackageJson(SimpleNamespace):
143
143
  "postcss-import": "16.1.1",
144
144
  "@react-router/dev": _react_router_version,
145
145
  "@react-router/fs-routes": _react_router_version,
146
- "vite": "npm:rolldown-vite@7.1.12",
146
+ "vite": "npm:rolldown-vite@7.1.13",
147
147
  }
148
148
  OVERRIDES = {
149
149
  # This should always match the `react` version in DEPENDENCIES for recharts compatibility.
150
150
  "react-is": _react_version,
151
151
  "cookie": "1.0.2",
152
- "vite": "npm:rolldown-vite@7.1.12",
152
+ "vite": "npm:rolldown-vite@7.1.13",
153
153
  }