reflex 0.5.3a2__tar.gz → 0.5.4a1__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.
- {reflex-0.5.3a2 → reflex-0.5.4a1}/PKG-INFO +1 -1
- {reflex-0.5.3a2 → reflex-0.5.4a1}/pyproject.toml +1 -1
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/webui/state.py +3 -2
- reflex-0.5.4a1/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +21 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/utils/state.js +6 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/__init__.py +7 -1
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/__init__.pyi +2 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/app.py +2 -5
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/compiler/compiler.py +2 -2
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/component.py +19 -6
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/client_side_routing.py +2 -2
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/client_side_routing.pyi +1 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/upload.py +1 -1
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/datadisplay/dataeditor.py +7 -2
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/datadisplay/dataeditor.pyi +1 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/forms.py +18 -11
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/forms.pyi +1 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/markdown/markdown.py +1 -1
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/plotly/plotly.py +76 -12
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/plotly/plotly.pyi +15 -82
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/base.py +9 -2
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/base.pyi +1 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/cartesian.py +42 -14
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/cartesian.pyi +81 -17
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/charts.py +12 -21
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/charts.pyi +53 -14
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/sonner/toast.py +30 -14
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/sonner/toast.pyi +8 -4
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/config.py +22 -14
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/constants/__init__.py +2 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/constants/config.py +7 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/event.py +12 -6
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/experimental/__init__.py +22 -2
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/experimental/client_state.py +81 -23
- reflex-0.5.4a1/reflex/experimental/hooks.py +89 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/experimental/layout.py +8 -3
- reflex-0.5.4a1/reflex/experimental/layout.pyi +536 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/reflex.py +9 -5
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/style.py +1 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/testing.py +44 -13
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/format.py +8 -1
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/processes.py +27 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/pyi_generator.py +11 -4
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/serializers.py +114 -15
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/types.py +6 -2
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/vars.py +39 -10
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/vars.pyi +2 -2
- reflex-0.5.3a2/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -22
- reflex-0.5.3a2/reflex/experimental/hooks.py +0 -95
- {reflex-0.5.3a2 → reflex-0.5.4a1}/LICENSE +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/README.md +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/.gitignore +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/assets/favicon.ico +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/assets/github.svg +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/assets/icon.svg +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/assets/logo.svg +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/assets/paneleft.svg +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/demo.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/pages/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/pages/chatapp.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/pages/datatable.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/pages/forms.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/pages/graphing.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/pages/home.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/sidebar.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/state.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/states/form_state.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/states/pie_state.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/styles.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/webui/components/chat.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/webui/components/loading_icon.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/webui/components/modal.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/apps/demo/code/webui/styles.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/next.config.js +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/styles/tailwind.css +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/__main__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/admin.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/app_module_for_backend.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/base.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/compiler/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/compiler/templates.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/compiler/utils.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/bare.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/body.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/body.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/document.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/document.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/fragment.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/head.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/head.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/link.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/link.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/meta.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/script.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/base/script.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/base.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/base.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/badge.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/badge.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/code.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/code.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/divider.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/divider.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/keyboard_key.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/keyboard_key.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/list.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/list.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/stat.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/stat.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/table.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/table.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/tag.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/datadisplay/tag.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/disclosure/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/disclosure/accordion.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/disclosure/accordion.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/disclosure/tabs.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/disclosure/tabs.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/disclosure/transition.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/disclosure/transition.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/disclosure/visuallyhidden.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/disclosure/visuallyhidden.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/feedback/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/feedback/alert.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/feedback/alert.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/feedback/circularprogress.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/feedback/circularprogress.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/feedback/progress.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/feedback/progress.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/feedback/skeleton.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/feedback/skeleton.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/feedback/spinner.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/feedback/spinner.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/button.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/button.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/checkbox.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/checkbox.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/colormodeswitch.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/colormodeswitch.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/date_picker.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/date_picker.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/date_time_picker.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/date_time_picker.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/editable.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/editable.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/email.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/email.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/form.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/form.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/iconbutton.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/iconbutton.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/input.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/input.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/multiselect.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/numberinput.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/numberinput.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/password.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/password.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/pininput.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/pininput.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/radio.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/radio.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/rangeslider.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/rangeslider.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/select.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/select.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/slider.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/slider.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/switch.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/switch.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/textarea.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/textarea.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/time_picker.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/forms/time_picker.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/aspect_ratio.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/aspect_ratio.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/box.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/box.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/card.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/card.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/center.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/center.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/container.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/container.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/flex.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/flex.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/grid.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/grid.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/spacer.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/spacer.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/stack.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/stack.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/wrap.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/layout/wrap.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/media/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/media/avatar.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/media/avatar.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/media/icon.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/media/icon.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/media/image.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/media/image.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/navigation/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/navigation/breadcrumb.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/navigation/breadcrumb.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/navigation/link.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/navigation/link.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/navigation/linkoverlay.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/navigation/linkoverlay.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/navigation/stepper.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/navigation/stepper.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/alertdialog.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/alertdialog.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/drawer.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/drawer.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/menu.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/menu.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/modal.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/modal.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/popover.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/popover.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/tooltip.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/overlay/tooltip.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/typography/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/typography/heading.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/typography/heading.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/typography/highlight.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/typography/highlight.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/typography/span.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/typography/span.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/typography/text.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/chakra/typography/text.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/banner.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/colors.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/cond.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/debounce.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/foreach.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/html.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/html.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/match.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/responsive.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/datadisplay/code.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/datadisplay/code.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/element.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/element.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/metadata.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/literals.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/lucide/icon.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/media/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/media/icon.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/moment/moment.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/next/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/next/base.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/next/base.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/next/image.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/next/image.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/next/link.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/next/link.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/next/video.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/next/video.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/props.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/accordion.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/color_mode.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/react_player/video.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/general.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/suneditor/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/suneditor/editor.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/suneditor/editor.pyi +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/tags/tag.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/constants/base.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/constants/colors.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/constants/compiler.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/constants/custom_components.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/constants/event.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/constants/installer.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/constants/route.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/constants/style.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/custom_components/custom_components.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/experimental/assets.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/experimental/misc.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/middleware/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/middleware/middleware.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/model.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/page.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/route.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/state.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/__init__.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/build.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/compat.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/console.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/exceptions.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/exec.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/export.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/imports.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/path_ops.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/prerequisites.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/telemetry.py +0 -0
- {reflex-0.5.3a2 → reflex-0.5.4a1}/reflex/utils/watch.py +0 -0
|
@@ -66,7 +66,8 @@ class State(State):
|
|
|
66
66
|
del self.chats[self.current_chat]
|
|
67
67
|
if len(self.chats) == 0:
|
|
68
68
|
self.chats = DEFAULT_CHATS
|
|
69
|
-
self.current_chat
|
|
69
|
+
# set self.current_chat to the first chat.
|
|
70
|
+
self.current_chat = next(iter(self.chats))
|
|
70
71
|
self.toggle_drawer()
|
|
71
72
|
|
|
72
73
|
def set_chat(self, chat_name: str):
|
|
@@ -85,7 +86,7 @@ class State(State):
|
|
|
85
86
|
Returns:
|
|
86
87
|
The list of chat names.
|
|
87
88
|
"""
|
|
88
|
-
return
|
|
89
|
+
return [*self.chats]
|
|
89
90
|
|
|
90
91
|
async def process_question(self, form_data: dict[str, str]):
|
|
91
92
|
"""Get the response from the API.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useTheme } from "next-themes";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { ColorModeContext, defaultColorMode } from "/utils/context.js";
|
|
4
|
+
|
|
5
|
+
export default function RadixThemesColorModeProvider({ children }) {
|
|
6
|
+
const { resolvedTheme, setTheme } = useTheme();
|
|
7
|
+
const [colorMode, setColorMode] = useState(defaultColorMode);
|
|
8
|
+
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
setColorMode(resolvedTheme);
|
|
11
|
+
}, [resolvedTheme]);
|
|
12
|
+
|
|
13
|
+
const toggleColorMode = () => {
|
|
14
|
+
setTheme(resolvedTheme === "light" ? "dark" : "light");
|
|
15
|
+
};
|
|
16
|
+
return (
|
|
17
|
+
<ColorModeContext.Provider value={[colorMode, toggleColorMode]}>
|
|
18
|
+
{children}
|
|
19
|
+
</ColorModeContext.Provider>
|
|
20
|
+
);
|
|
21
|
+
}
|
|
@@ -358,6 +358,12 @@ export const connect = async (
|
|
|
358
358
|
socket.current.on("connect_error", (error) => {
|
|
359
359
|
setConnectErrors((connectErrors) => [connectErrors.slice(-9), error]);
|
|
360
360
|
});
|
|
361
|
+
|
|
362
|
+
// When the socket disconnects reset the event_processing flag
|
|
363
|
+
socket.current.on("disconnect", () => {
|
|
364
|
+
event_processing = false;
|
|
365
|
+
});
|
|
366
|
+
|
|
361
367
|
// On each received message, queue the updates and events.
|
|
362
368
|
socket.current.on("event", (message) => {
|
|
363
369
|
const update = JSON5.parse(message);
|
|
@@ -248,7 +248,12 @@ _MAPPING: dict = {
|
|
|
248
248
|
"admin": ["AdminDash"],
|
|
249
249
|
"app": ["App", "UploadFile"],
|
|
250
250
|
"base": ["Base"],
|
|
251
|
-
"components.component": [
|
|
251
|
+
"components.component": [
|
|
252
|
+
"Component",
|
|
253
|
+
"NoSSRComponent",
|
|
254
|
+
"memo",
|
|
255
|
+
"ComponentNamespace",
|
|
256
|
+
],
|
|
252
257
|
"components.el.elements.media": ["image"],
|
|
253
258
|
"components.lucide": ["icon"],
|
|
254
259
|
**COMPONENTS_BASE_MAPPING,
|
|
@@ -270,6 +275,7 @@ _MAPPING: dict = {
|
|
|
270
275
|
"data_editor",
|
|
271
276
|
"data_editor_theme",
|
|
272
277
|
],
|
|
278
|
+
"components.sonner.toast": ["toast"],
|
|
273
279
|
"components.datadisplay.logo": ["logo"],
|
|
274
280
|
"components.gridjs": ["data_table"],
|
|
275
281
|
"components.moment": ["MomentDelta", "moment"],
|
|
@@ -24,6 +24,7 @@ from .base import Base as Base
|
|
|
24
24
|
from .components.component import Component as Component
|
|
25
25
|
from .components.component import NoSSRComponent as NoSSRComponent
|
|
26
26
|
from .components.component import memo as memo
|
|
27
|
+
from .components.component import ComponentNamespace as ComponentNamespace
|
|
27
28
|
from .components.el.elements.media import image as image
|
|
28
29
|
from .components.lucide import icon as icon
|
|
29
30
|
from .components.base.fragment import fragment as fragment
|
|
@@ -143,6 +144,7 @@ from .components.core.upload import upload as upload
|
|
|
143
144
|
from .components.datadisplay.code import code_block as code_block
|
|
144
145
|
from .components.datadisplay.dataeditor import data_editor as data_editor
|
|
145
146
|
from .components.datadisplay.dataeditor import data_editor_theme as data_editor_theme
|
|
147
|
+
from .components.sonner.toast import toast as toast
|
|
146
148
|
from .components.datadisplay.logo import logo as logo
|
|
147
149
|
from .components.gridjs import data_table as data_table
|
|
148
150
|
from .components.moment import MomentDelta as MomentDelta
|
|
@@ -707,11 +707,8 @@ class App(LifespanMixin, Base):
|
|
|
707
707
|
page_imports = {
|
|
708
708
|
i
|
|
709
709
|
for i, tags in imports.items()
|
|
710
|
-
if i
|
|
711
|
-
not in
|
|
712
|
-
*constants.PackageJson.DEPENDENCIES.keys(),
|
|
713
|
-
*constants.PackageJson.DEV_DEPENDENCIES.keys(),
|
|
714
|
-
]
|
|
710
|
+
if i not in constants.PackageJson.DEPENDENCIES
|
|
711
|
+
and i not in constants.PackageJson.DEV_DEPENDENCIES
|
|
715
712
|
and not any(i.startswith(prefix) for prefix in ["/", ".", "next/"])
|
|
716
713
|
and i != ""
|
|
717
714
|
and any(tag.install for tag in tags)
|
|
@@ -17,7 +17,7 @@ from reflex.components.component import (
|
|
|
17
17
|
)
|
|
18
18
|
from reflex.config import get_config
|
|
19
19
|
from reflex.state import BaseState
|
|
20
|
-
from reflex.style import
|
|
20
|
+
from reflex.style import SYSTEM_COLOR_MODE
|
|
21
21
|
from reflex.utils.exec import is_prod_mode
|
|
22
22
|
from reflex.utils.imports import ImportVar
|
|
23
23
|
from reflex.vars import Var
|
|
@@ -79,7 +79,7 @@ def _compile_contexts(state: Optional[Type[BaseState]], theme: Component | None)
|
|
|
79
79
|
"""
|
|
80
80
|
appearance = getattr(theme, "appearance", None)
|
|
81
81
|
if appearance is None:
|
|
82
|
-
appearance =
|
|
82
|
+
appearance = SYSTEM_COLOR_MODE
|
|
83
83
|
return (
|
|
84
84
|
templates.CONTEXT.render(
|
|
85
85
|
initial_state=utils.compile_state(state),
|
|
@@ -360,7 +360,6 @@ class Component(BaseComponent, ABC):
|
|
|
360
360
|
# Get the component fields, triggers, and props.
|
|
361
361
|
fields = self.get_fields()
|
|
362
362
|
component_specific_triggers = self.get_event_triggers()
|
|
363
|
-
triggers = component_specific_triggers.keys()
|
|
364
363
|
props = self.get_props()
|
|
365
364
|
|
|
366
365
|
# Add any events triggers.
|
|
@@ -370,13 +369,17 @@ class Component(BaseComponent, ABC):
|
|
|
370
369
|
|
|
371
370
|
# Iterate through the kwargs and set the props.
|
|
372
371
|
for key, value in kwargs.items():
|
|
373
|
-
if
|
|
372
|
+
if (
|
|
373
|
+
key.startswith("on_")
|
|
374
|
+
and key not in component_specific_triggers
|
|
375
|
+
and key not in props
|
|
376
|
+
):
|
|
374
377
|
raise ValueError(
|
|
375
378
|
f"The {(comp_name := type(self).__name__)} does not take in an `{key}` event trigger. If {comp_name}"
|
|
376
379
|
f" is a third party component make sure to add `{key}` to the component's event triggers. "
|
|
377
380
|
f"visit https://reflex.dev/docs/wrapping-react/guide/#event-triggers for more info."
|
|
378
381
|
)
|
|
379
|
-
if key in
|
|
382
|
+
if key in component_specific_triggers:
|
|
380
383
|
# Event triggers are bound to event chains.
|
|
381
384
|
field_type = EventChain
|
|
382
385
|
elif key in props:
|
|
@@ -436,7 +439,7 @@ class Component(BaseComponent, ABC):
|
|
|
436
439
|
)
|
|
437
440
|
|
|
438
441
|
# Check if the key is an event trigger.
|
|
439
|
-
if key in
|
|
442
|
+
if key in component_specific_triggers:
|
|
440
443
|
# Temporarily disable full control for event triggers.
|
|
441
444
|
kwargs["event_triggers"][key] = self._create_event_chain(
|
|
442
445
|
value=value, args_spec=component_specific_triggers[key]
|
|
@@ -519,13 +522,23 @@ class Component(BaseComponent, ABC):
|
|
|
519
522
|
events.append(event)
|
|
520
523
|
elif isinstance(v, Callable):
|
|
521
524
|
# Call the lambda to get the event chain.
|
|
522
|
-
|
|
525
|
+
result = call_event_fn(v, args_spec)
|
|
526
|
+
if isinstance(result, Var):
|
|
527
|
+
raise ValueError(
|
|
528
|
+
f"Invalid event chain: {v}. Cannot use a Var-returning "
|
|
529
|
+
"lambda inside an EventChain list."
|
|
530
|
+
)
|
|
531
|
+
events.extend(result)
|
|
523
532
|
else:
|
|
524
533
|
raise ValueError(f"Invalid event: {v}")
|
|
525
534
|
|
|
526
535
|
# If the input is a callable, create an event chain.
|
|
527
536
|
elif isinstance(value, Callable):
|
|
528
|
-
|
|
537
|
+
result = call_event_fn(value, args_spec)
|
|
538
|
+
if isinstance(result, Var):
|
|
539
|
+
# Recursively call this function if the lambda returned an EventChain Var.
|
|
540
|
+
return self._create_event_chain(args_spec, result)
|
|
541
|
+
events = result
|
|
529
542
|
|
|
530
543
|
# Otherwise, raise an error.
|
|
531
544
|
else:
|
|
@@ -23,13 +23,13 @@ class ClientSideRouting(Component):
|
|
|
23
23
|
library = "/utils/client_side_routing"
|
|
24
24
|
tag = "useClientSideRouting"
|
|
25
25
|
|
|
26
|
-
def
|
|
26
|
+
def add_hooks(self) -> list[str]:
|
|
27
27
|
"""Get the hooks to render.
|
|
28
28
|
|
|
29
29
|
Returns:
|
|
30
30
|
The useClientSideRouting hook.
|
|
31
31
|
"""
|
|
32
|
-
return f"const {constants.ROUTE_NOT_FOUND} = {self.tag}()"
|
|
32
|
+
return [f"const {constants.ROUTE_NOT_FOUND} = {self.tag}()"]
|
|
33
33
|
|
|
34
34
|
def render(self) -> str:
|
|
35
35
|
"""Render the component.
|
|
@@ -230,7 +230,7 @@ class Upload(MemoizationLeaf):
|
|
|
230
230
|
key: value for key, value in props.items() if key in supported_props
|
|
231
231
|
}
|
|
232
232
|
# The file input to use.
|
|
233
|
-
upload = Input.create(
|
|
233
|
+
upload = Input.create(type="file")
|
|
234
234
|
upload.special_props = {
|
|
235
235
|
BaseVar(_var_name="{...getInputProps()}", _var_type=None)
|
|
236
236
|
}
|
|
@@ -252,7 +252,12 @@ class DataEditor(NoSSRComponent):
|
|
|
252
252
|
"on_column_resize": lambda col, width: [col, width],
|
|
253
253
|
}
|
|
254
254
|
|
|
255
|
-
def
|
|
255
|
+
def add_hooks(self) -> list[str]:
|
|
256
|
+
"""Get the hooks to render.
|
|
257
|
+
|
|
258
|
+
Returns:
|
|
259
|
+
The hooks to render.
|
|
260
|
+
"""
|
|
256
261
|
# Define the id of the component in case multiple are used in the same page.
|
|
257
262
|
editor_id = get_unique_variable_name()
|
|
258
263
|
|
|
@@ -272,7 +277,7 @@ class DataEditor(NoSSRComponent):
|
|
|
272
277
|
]
|
|
273
278
|
)
|
|
274
279
|
|
|
275
|
-
return "\n".join(code)
|
|
280
|
+
return ["\n".join(code)]
|
|
276
281
|
|
|
277
282
|
@classmethod
|
|
278
283
|
def create(cls, *children, **props) -> Component:
|
|
@@ -181,18 +181,25 @@ class Form(BaseHTML):
|
|
|
181
181
|
},
|
|
182
182
|
)
|
|
183
183
|
|
|
184
|
-
def
|
|
184
|
+
def add_hooks(self) -> list[str]:
|
|
185
|
+
"""Add hooks for the form.
|
|
186
|
+
|
|
187
|
+
Returns:
|
|
188
|
+
The hooks for the form.
|
|
189
|
+
"""
|
|
185
190
|
if EventTriggers.ON_SUBMIT not in self.event_triggers:
|
|
186
|
-
return
|
|
187
|
-
return
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
191
|
+
return []
|
|
192
|
+
return [
|
|
193
|
+
HANDLE_SUBMIT_JS_JINJA2.render(
|
|
194
|
+
handle_submit_unique_name=self.handle_submit_unique_name,
|
|
195
|
+
form_data=FORM_DATA,
|
|
196
|
+
field_ref_mapping=str(Var.create_safe(self._get_form_refs())),
|
|
197
|
+
on_submit_event_chain=format_event_chain(
|
|
198
|
+
self.event_triggers[EventTriggers.ON_SUBMIT]
|
|
199
|
+
),
|
|
200
|
+
reset_on_submit=self.reset_on_submit,
|
|
201
|
+
)
|
|
202
|
+
]
|
|
196
203
|
|
|
197
204
|
def _render(self) -> Tag:
|
|
198
205
|
render_tag = super()._render()
|
|
@@ -229,7 +229,7 @@ class Markdown(Component):
|
|
|
229
229
|
Returns:
|
|
230
230
|
The formatted component.
|
|
231
231
|
"""
|
|
232
|
-
return str(self.get_component(tag, **props)).replace("\n", "
|
|
232
|
+
return str(self.get_component(tag, **props)).replace("\n", "")
|
|
233
233
|
|
|
234
234
|
def format_component_map(self) -> dict[str, str]:
|
|
235
235
|
"""Format the component map for rendering.
|
|
@@ -4,14 +4,20 @@ from __future__ import annotations
|
|
|
4
4
|
from typing import Any, Dict, List
|
|
5
5
|
|
|
6
6
|
from reflex.base import Base
|
|
7
|
-
from reflex.components.component import NoSSRComponent
|
|
7
|
+
from reflex.components.component import Component, NoSSRComponent
|
|
8
|
+
from reflex.components.core.cond import color_mode_cond
|
|
8
9
|
from reflex.event import EventHandler
|
|
10
|
+
from reflex.utils import console
|
|
9
11
|
from reflex.vars import Var
|
|
10
12
|
|
|
11
13
|
try:
|
|
12
|
-
from plotly.graph_objects import Figure
|
|
14
|
+
from plotly.graph_objects import Figure, layout
|
|
15
|
+
|
|
16
|
+
Template = layout.Template
|
|
13
17
|
except ImportError:
|
|
18
|
+
console.warn("Plotly is not installed. Please run `pip install plotly`.")
|
|
14
19
|
Figure = Any # type: ignore
|
|
20
|
+
Template = Any # type: ignore
|
|
15
21
|
|
|
16
22
|
|
|
17
23
|
def _event_data_signature(e0: Var) -> List[Any]:
|
|
@@ -84,17 +90,13 @@ def _null_signature() -> List[Any]:
|
|
|
84
90
|
return []
|
|
85
91
|
|
|
86
92
|
|
|
87
|
-
class
|
|
88
|
-
"""
|
|
93
|
+
class Plotly(NoSSRComponent):
|
|
94
|
+
"""Display a plotly graph."""
|
|
89
95
|
|
|
90
96
|
library = "react-plotly.js@2.6.0"
|
|
91
97
|
|
|
92
98
|
lib_dependencies: List[str] = ["plotly.js@2.22.0"]
|
|
93
99
|
|
|
94
|
-
|
|
95
|
-
class Plotly(PlotlyLib):
|
|
96
|
-
"""Display a plotly graph."""
|
|
97
|
-
|
|
98
100
|
tag = "Plot"
|
|
99
101
|
|
|
100
102
|
is_default = True
|
|
@@ -105,6 +107,9 @@ class Plotly(PlotlyLib):
|
|
|
105
107
|
# The layout of the graph.
|
|
106
108
|
layout: Var[Dict]
|
|
107
109
|
|
|
110
|
+
# The template for visual appearance of the graph.
|
|
111
|
+
template: Var[Template]
|
|
112
|
+
|
|
108
113
|
# The config of the graph.
|
|
109
114
|
config: Var[Dict]
|
|
110
115
|
|
|
@@ -171,6 +176,17 @@ class Plotly(PlotlyLib):
|
|
|
171
176
|
# Fired when a hovered element is no longer hovered.
|
|
172
177
|
on_unhover: EventHandler[_event_points_data_signature]
|
|
173
178
|
|
|
179
|
+
def add_imports(self) -> dict[str, str]:
|
|
180
|
+
"""Add imports for the plotly component.
|
|
181
|
+
|
|
182
|
+
Returns:
|
|
183
|
+
The imports for the plotly component.
|
|
184
|
+
"""
|
|
185
|
+
return {
|
|
186
|
+
# For merging plotly data/layout/templates.
|
|
187
|
+
"mergician@v2.0.2": "mergician"
|
|
188
|
+
}
|
|
189
|
+
|
|
174
190
|
def add_custom_code(self) -> list[str]:
|
|
175
191
|
"""Add custom codes for processing the plotly points data.
|
|
176
192
|
|
|
@@ -210,14 +226,62 @@ const extractPoints = (points) => {
|
|
|
210
226
|
""",
|
|
211
227
|
]
|
|
212
228
|
|
|
229
|
+
@classmethod
|
|
230
|
+
def create(cls, *children, **props) -> Component:
|
|
231
|
+
"""Create the Plotly component.
|
|
232
|
+
|
|
233
|
+
Args:
|
|
234
|
+
*children: The children of the component.
|
|
235
|
+
**props: The properties of the component.
|
|
236
|
+
|
|
237
|
+
Returns:
|
|
238
|
+
The Plotly component.
|
|
239
|
+
"""
|
|
240
|
+
from plotly.io import templates
|
|
241
|
+
|
|
242
|
+
responsive_template = color_mode_cond(
|
|
243
|
+
light=Var.create_safe(templates["plotly"]).to(dict),
|
|
244
|
+
dark=Var.create_safe(templates["plotly_dark"]).to(dict),
|
|
245
|
+
)
|
|
246
|
+
if isinstance(responsive_template, Var):
|
|
247
|
+
# Mark the conditional Var as a Template to avoid type mismatch
|
|
248
|
+
responsive_template = responsive_template.to(Template)
|
|
249
|
+
props.setdefault("template", responsive_template)
|
|
250
|
+
return super().create(*children, **props)
|
|
251
|
+
|
|
252
|
+
def _exclude_props(self) -> set[str]:
|
|
253
|
+
# These props are handled specially in the _render function
|
|
254
|
+
return {"data", "layout", "template"}
|
|
255
|
+
|
|
213
256
|
def _render(self):
|
|
214
257
|
tag = super()._render()
|
|
215
258
|
figure = self.data.to(dict)
|
|
216
|
-
|
|
217
|
-
|
|
259
|
+
merge_dicts = [] # Data will be merged and spread from these dict Vars
|
|
260
|
+
if self.layout is not None:
|
|
261
|
+
# Why is this not a literal dict? Great question... it didn't work
|
|
262
|
+
# reliably because of how _var_name_unwrapped strips the outer curly
|
|
263
|
+
# brackets if any of the contained Vars depend on state.
|
|
264
|
+
layout_dict = Var.create_safe(
|
|
265
|
+
f"{{'layout': {self.layout.to(dict)._var_name_unwrapped}}}"
|
|
266
|
+
).to(dict)
|
|
267
|
+
merge_dicts.append(layout_dict)
|
|
268
|
+
if self.template is not None:
|
|
269
|
+
template_dict = Var.create_safe(
|
|
270
|
+
{"layout": {"template": self.template.to(dict)}}
|
|
271
|
+
)
|
|
272
|
+
template_dict._var_data = None # To avoid stripping outer curly brackets
|
|
273
|
+
merge_dicts.append(template_dict)
|
|
274
|
+
if merge_dicts:
|
|
218
275
|
tag.special_props.add(
|
|
219
|
-
|
|
276
|
+
# Merge all dictionaries and spread the result over props.
|
|
277
|
+
Var.create_safe(
|
|
278
|
+
f"{{...mergician({figure._var_name_unwrapped},"
|
|
279
|
+
f"{','.join(md._var_name_unwrapped for md in merge_dicts)})}}",
|
|
280
|
+
),
|
|
220
281
|
)
|
|
221
282
|
else:
|
|
222
|
-
|
|
283
|
+
# Spread the figure dict over props, nothing to merge.
|
|
284
|
+
tag.special_props.add(
|
|
285
|
+
Var.create_safe(f"{{...{figure._var_name_unwrapped}}}")
|
|
286
|
+
)
|
|
223
287
|
return tag
|
|
@@ -9,97 +9,28 @@ from reflex.event import EventChain, EventHandler, EventSpec
|
|
|
9
9
|
from reflex.style import Style
|
|
10
10
|
from typing import Any, Dict, List
|
|
11
11
|
from reflex.base import Base
|
|
12
|
-
from reflex.components.component import NoSSRComponent
|
|
12
|
+
from reflex.components.component import Component, NoSSRComponent
|
|
13
|
+
from reflex.components.core.cond import color_mode_cond
|
|
13
14
|
from reflex.event import EventHandler
|
|
15
|
+
from reflex.utils import console
|
|
14
16
|
from reflex.vars import Var
|
|
15
17
|
|
|
16
18
|
try:
|
|
17
|
-
from plotly.graph_objects import Figure # type: ignore
|
|
19
|
+
from plotly.graph_objects import Figure, layout # type: ignore
|
|
20
|
+
|
|
21
|
+
Template = layout.Template
|
|
18
22
|
except ImportError:
|
|
23
|
+
console.warn("Plotly is not installed. Please run `pip install plotly`.")
|
|
19
24
|
Figure = Any # type: ignore
|
|
25
|
+
Template = Any
|
|
20
26
|
|
|
21
27
|
class _ButtonClickData(Base):
|
|
22
28
|
menu: Any
|
|
23
29
|
button: Any
|
|
24
30
|
active: Any
|
|
25
31
|
|
|
26
|
-
class
|
|
27
|
-
|
|
28
|
-
@classmethod
|
|
29
|
-
def create( # type: ignore
|
|
30
|
-
cls,
|
|
31
|
-
*children,
|
|
32
|
-
style: Optional[Style] = None,
|
|
33
|
-
key: Optional[Any] = None,
|
|
34
|
-
id: Optional[Any] = None,
|
|
35
|
-
class_name: Optional[Any] = None,
|
|
36
|
-
autofocus: Optional[bool] = None,
|
|
37
|
-
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
38
|
-
on_blur: Optional[
|
|
39
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
40
|
-
] = None,
|
|
41
|
-
on_click: Optional[
|
|
42
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
43
|
-
] = None,
|
|
44
|
-
on_context_menu: Optional[
|
|
45
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
46
|
-
] = None,
|
|
47
|
-
on_double_click: Optional[
|
|
48
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
49
|
-
] = None,
|
|
50
|
-
on_focus: Optional[
|
|
51
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
52
|
-
] = None,
|
|
53
|
-
on_mount: Optional[
|
|
54
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
55
|
-
] = None,
|
|
56
|
-
on_mouse_down: Optional[
|
|
57
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
58
|
-
] = None,
|
|
59
|
-
on_mouse_enter: Optional[
|
|
60
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
61
|
-
] = None,
|
|
62
|
-
on_mouse_leave: Optional[
|
|
63
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
64
|
-
] = None,
|
|
65
|
-
on_mouse_move: Optional[
|
|
66
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
67
|
-
] = None,
|
|
68
|
-
on_mouse_out: Optional[
|
|
69
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
70
|
-
] = None,
|
|
71
|
-
on_mouse_over: Optional[
|
|
72
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
73
|
-
] = None,
|
|
74
|
-
on_mouse_up: Optional[
|
|
75
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
76
|
-
] = None,
|
|
77
|
-
on_scroll: Optional[
|
|
78
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
79
|
-
] = None,
|
|
80
|
-
on_unmount: Optional[
|
|
81
|
-
Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
82
|
-
] = None,
|
|
83
|
-
**props
|
|
84
|
-
) -> "PlotlyLib":
|
|
85
|
-
"""Create the component.
|
|
86
|
-
|
|
87
|
-
Args:
|
|
88
|
-
*children: The children of the component.
|
|
89
|
-
style: The style of the component.
|
|
90
|
-
key: A unique key for the component.
|
|
91
|
-
id: The id for the component.
|
|
92
|
-
class_name: The class name for the component.
|
|
93
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
94
|
-
custom_attrs: custom attribute
|
|
95
|
-
**props: The props of the component.
|
|
96
|
-
|
|
97
|
-
Returns:
|
|
98
|
-
The component.
|
|
99
|
-
"""
|
|
100
|
-
...
|
|
101
|
-
|
|
102
|
-
class Plotly(PlotlyLib):
|
|
32
|
+
class Plotly(NoSSRComponent):
|
|
33
|
+
def add_imports(self) -> dict[str, str]: ...
|
|
103
34
|
def add_custom_code(self) -> list[str]: ...
|
|
104
35
|
@overload
|
|
105
36
|
@classmethod
|
|
@@ -108,6 +39,7 @@ class Plotly(PlotlyLib):
|
|
|
108
39
|
*children,
|
|
109
40
|
data: Optional[Union[Var[Figure], Figure]] = None, # type: ignore
|
|
110
41
|
layout: Optional[Union[Var[Dict], Dict]] = None,
|
|
42
|
+
template: Optional[Union[Var[Template], Template]] = None, # type: ignore
|
|
111
43
|
config: Optional[Union[Var[Dict], Dict]] = None,
|
|
112
44
|
use_resize_handler: Optional[Union[Var[bool], bool]] = None,
|
|
113
45
|
style: Optional[Style] = None,
|
|
@@ -217,12 +149,13 @@ class Plotly(PlotlyLib):
|
|
|
217
149
|
] = None,
|
|
218
150
|
**props
|
|
219
151
|
) -> "Plotly":
|
|
220
|
-
"""Create the component.
|
|
152
|
+
"""Create the Plotly component.
|
|
221
153
|
|
|
222
154
|
Args:
|
|
223
155
|
*children: The children of the component.
|
|
224
156
|
data: The figure to display. This can be a plotly figure or a plotly data json.
|
|
225
157
|
layout: The layout of the graph.
|
|
158
|
+
template: The template for visual appearance of the graph.
|
|
226
159
|
config: The config of the graph.
|
|
227
160
|
use_resize_handler: If true, the graph will resize when the window is resized.
|
|
228
161
|
style: The style of the component.
|
|
@@ -231,9 +164,9 @@ class Plotly(PlotlyLib):
|
|
|
231
164
|
class_name: The class name for the component.
|
|
232
165
|
autofocus: Whether the component should take the focus once the page is loaded
|
|
233
166
|
custom_attrs: custom attribute
|
|
234
|
-
**props: The
|
|
167
|
+
**props: The properties of the component.
|
|
235
168
|
|
|
236
169
|
Returns:
|
|
237
|
-
The component.
|
|
170
|
+
The Plotly component.
|
|
238
171
|
"""
|
|
239
172
|
...
|
|
@@ -257,10 +257,16 @@ class ThemePanel(RadixThemesComponent):
|
|
|
257
257
|
"""
|
|
258
258
|
return {"react": "useEffect"}
|
|
259
259
|
|
|
260
|
-
def
|
|
260
|
+
def add_hooks(self) -> list[str]:
|
|
261
|
+
"""Add a hook on the ThemePanel to clear chakra-ui-color-mode.
|
|
262
|
+
|
|
263
|
+
Returns:
|
|
264
|
+
The hooks to render.
|
|
265
|
+
"""
|
|
261
266
|
# The panel freezes the tab if the user color preference differs from the
|
|
262
267
|
# theme "appearance", so clear it out when theme panel is used.
|
|
263
|
-
return
|
|
268
|
+
return [
|
|
269
|
+
"""
|
|
264
270
|
useEffect(() => {
|
|
265
271
|
if (typeof window !== 'undefined') {
|
|
266
272
|
window.onbeforeunload = () => {
|
|
@@ -269,6 +275,7 @@ class ThemePanel(RadixThemesComponent):
|
|
|
269
275
|
window.onbeforeunload();
|
|
270
276
|
}
|
|
271
277
|
}, [])"""
|
|
278
|
+
]
|
|
272
279
|
|
|
273
280
|
|
|
274
281
|
class RadixThemesColorModeProvider(Component):
|