reflex 0.8.6a0__tar.gz → 0.8.6a1__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.8.6a0 → reflex-0.8.6a1}/PKG-INFO +1 -1
- {reflex-0.8.6a0 → reflex-0.8.6a1}/pyproject.toml +1 -1
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/app.py +12 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/error_boundary.py +2 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/manager.py +2 -1
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/__init__.py +2 -0
- reflex-0.8.6a1/reflex/plugins/_screenshot.py +144 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/base.py +14 -1
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/state.py +1 -1
- {reflex-0.8.6a0 → reflex-0.8.6a1}/.gitignore +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/LICENSE +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/README.md +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/vite.config.js.jinja2 +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/app/entry.client.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/app/routes.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/components/shiki/code.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/react-router.config.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/styles/__reflex_style_reset.css +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/react-theme.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/utils/state.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/web/vite-plugin-safari-cachebust.js +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/__main__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/admin.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/assets.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/base.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/compiler/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/compiler/compiler.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/compiler/templates.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/compiler/utils.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/bare.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/body.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/body.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/document.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/document.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/error_boundary.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/fragment.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/link.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/link.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/meta.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/script.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/script.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/strict_mode.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/base/strict_mode.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/component.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/auto_scroll.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/auto_scroll.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/banner.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/client_side_routing.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/clipboard.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/clipboard.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/colors.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/cond.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/debounce.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/foreach.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/helmet.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/helmet.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/html.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/html.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/match.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/responsive.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/sticky.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/sticky.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/upload.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/window_events.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/core/window_events.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/code.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/code.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/dataeditor.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/shiki_code_block.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/dynamic.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/element.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/element.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/forms.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/forms.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/metadata.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/field.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/literals.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/lucide/icon.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/markdown/markdown.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/moment/moment.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/plotly/plotly.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/props.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/accordion.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/color_mode.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/video.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_router/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_router/dom.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/react_router/dom.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/cartesian.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/cartesian.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/charts.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/general.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/sonner/toast.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/sonner/toast.pyi +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/tag.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/config.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/base.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/colors.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/compiler.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/config.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/custom_components.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/event.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/installer.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/route.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/state.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/constants/utils.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/custom_components/custom_components.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/environment.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/event.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/experimental/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/experimental/client_state.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/experimental/hooks.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/data.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/dynamic.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/proxy.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/storage.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/istate/wrappers.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/middleware/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/middleware/middleware.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/model.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/page.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/shared_tailwind.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/sitemap.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/tailwind_v3.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/plugins/tailwind_v4.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/py.typed +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/reflex.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/route.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/style.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/testing.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/build.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/codespaces.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/compat.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/console.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/decorator.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/exceptions.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/exec.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/export.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/format.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/imports.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/misc.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/monitoring.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/net.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/path_ops.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/prerequisites.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/processes.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/redir.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/registry.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/serializers.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/telemetry.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/token_manager.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/utils/types.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/__init__.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/base.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/datetime.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/dep_tracking.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/function.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/number.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/object.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/vars/sequence.py +0 -0
- {reflex-0.8.6a0 → reflex-0.8.6a1}/scripts/hatch_build.py +0 -0
|
@@ -604,6 +604,11 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
604
604
|
|
|
605
605
|
self._compile(prerender_routes=is_prod_mode())
|
|
606
606
|
|
|
607
|
+
config = get_config()
|
|
608
|
+
|
|
609
|
+
for plugin in config.plugins:
|
|
610
|
+
plugin.post_compile(app=self)
|
|
611
|
+
|
|
607
612
|
# We will not be making more vars, so we can clear the global cache to free up memory.
|
|
608
613
|
GLOBAL_CACHE.clear()
|
|
609
614
|
|
|
@@ -1926,6 +1931,13 @@ def upload(app: App):
|
|
|
1926
1931
|
)
|
|
1927
1932
|
)
|
|
1928
1933
|
|
|
1934
|
+
for file in files:
|
|
1935
|
+
if not isinstance(file, StarletteUploadFile):
|
|
1936
|
+
raise UploadValueError(
|
|
1937
|
+
"Uploaded file is not an UploadFile." + str(file)
|
|
1938
|
+
)
|
|
1939
|
+
await file.close()
|
|
1940
|
+
|
|
1929
1941
|
event = Event(
|
|
1930
1942
|
token=token,
|
|
1931
1943
|
name=handler,
|
|
@@ -143,6 +143,8 @@ class StateManagerMemory(StateManager):
|
|
|
143
143
|
token: The token to set the state for.
|
|
144
144
|
state: The state to set.
|
|
145
145
|
"""
|
|
146
|
+
token = _split_substate_key(token)[0]
|
|
147
|
+
self.states[token] = state
|
|
146
148
|
|
|
147
149
|
@override
|
|
148
150
|
@contextlib.asynccontextmanager
|
|
@@ -165,7 +167,6 @@ class StateManagerMemory(StateManager):
|
|
|
165
167
|
async with self._states_locks[token]:
|
|
166
168
|
state = await self.get_state(token)
|
|
167
169
|
yield state
|
|
168
|
-
await self.set_state(token, state)
|
|
169
170
|
|
|
170
171
|
|
|
171
172
|
def _default_token_expiration() -> int:
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"""Reflex Plugin System."""
|
|
2
2
|
|
|
3
|
+
from ._screenshot import ScreenshotPlugin as _ScreenshotPlugin
|
|
3
4
|
from .base import CommonContext, Plugin, PreCompileContext
|
|
4
5
|
from .sitemap import SitemapPlugin
|
|
5
6
|
from .tailwind_v3 import TailwindV3Plugin
|
|
@@ -12,4 +13,5 @@ __all__ = [
|
|
|
12
13
|
"SitemapPlugin",
|
|
13
14
|
"TailwindV3Plugin",
|
|
14
15
|
"TailwindV4Plugin",
|
|
16
|
+
"_ScreenshotPlugin",
|
|
15
17
|
]
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"""Plugin to enable screenshot functionality."""
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING
|
|
4
|
+
|
|
5
|
+
from reflex.plugins.base import Plugin as BasePlugin
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from starlette.requests import Request
|
|
9
|
+
from starlette.responses import Response
|
|
10
|
+
from typing_extensions import Unpack
|
|
11
|
+
|
|
12
|
+
from reflex.app import App
|
|
13
|
+
from reflex.plugins.base import PostCompileContext
|
|
14
|
+
from reflex.state import BaseState
|
|
15
|
+
|
|
16
|
+
ACTIVE_CONNECTIONS = "/_active_connections"
|
|
17
|
+
CLONE_STATE = "/_clone_state"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def _deep_copy(state: "BaseState") -> "BaseState":
|
|
21
|
+
"""Create a deep copy of the state.
|
|
22
|
+
|
|
23
|
+
Args:
|
|
24
|
+
state: The state to copy.
|
|
25
|
+
|
|
26
|
+
Returns:
|
|
27
|
+
A deep copy of the state.
|
|
28
|
+
"""
|
|
29
|
+
import copy
|
|
30
|
+
|
|
31
|
+
copy_of_state = copy.deepcopy(state)
|
|
32
|
+
|
|
33
|
+
def copy_substate(substate: "BaseState") -> "BaseState":
|
|
34
|
+
substate_copy = _deep_copy(substate)
|
|
35
|
+
|
|
36
|
+
substate_copy.parent_state = copy_of_state
|
|
37
|
+
|
|
38
|
+
return substate_copy
|
|
39
|
+
|
|
40
|
+
copy_of_state.substates = {
|
|
41
|
+
substate_name: copy_substate(substate)
|
|
42
|
+
for substate_name, substate in state.substates.items()
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return copy_of_state
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class ScreenshotPlugin(BasePlugin):
|
|
49
|
+
"""Plugin to handle screenshot functionality."""
|
|
50
|
+
|
|
51
|
+
def post_compile(self, **context: "Unpack[PostCompileContext]") -> None:
|
|
52
|
+
"""Called after the compilation of the plugin.
|
|
53
|
+
|
|
54
|
+
Args:
|
|
55
|
+
context: The context for the plugin.
|
|
56
|
+
"""
|
|
57
|
+
app = context["app"]
|
|
58
|
+
self._add_active_connections_endpoint(app)
|
|
59
|
+
self._add_clone_state_endpoint(app)
|
|
60
|
+
|
|
61
|
+
@staticmethod
|
|
62
|
+
def _add_active_connections_endpoint(app: "App") -> None:
|
|
63
|
+
"""Add an endpoint to the app that returns the active connections.
|
|
64
|
+
|
|
65
|
+
Args:
|
|
66
|
+
app: The application instance to which the endpoint will be added.
|
|
67
|
+
"""
|
|
68
|
+
if not app._api:
|
|
69
|
+
return
|
|
70
|
+
|
|
71
|
+
async def active_connections(_request: "Request") -> "Response":
|
|
72
|
+
from starlette.responses import JSONResponse
|
|
73
|
+
|
|
74
|
+
if not app.event_namespace:
|
|
75
|
+
return JSONResponse({})
|
|
76
|
+
|
|
77
|
+
return JSONResponse(app.event_namespace.token_to_sid)
|
|
78
|
+
|
|
79
|
+
app._api.add_route(
|
|
80
|
+
ACTIVE_CONNECTIONS,
|
|
81
|
+
active_connections,
|
|
82
|
+
methods=["GET"],
|
|
83
|
+
)
|
|
84
|
+
|
|
85
|
+
@staticmethod
|
|
86
|
+
def _add_clone_state_endpoint(app: "App") -> None:
|
|
87
|
+
"""Add an endpoint to the app that clones the current state.
|
|
88
|
+
|
|
89
|
+
Args:
|
|
90
|
+
app: The application instance to which the endpoint will be added.
|
|
91
|
+
"""
|
|
92
|
+
if not app._api:
|
|
93
|
+
return
|
|
94
|
+
|
|
95
|
+
async def clone_state(request: "Request") -> "Response":
|
|
96
|
+
import uuid
|
|
97
|
+
|
|
98
|
+
from starlette.responses import JSONResponse
|
|
99
|
+
|
|
100
|
+
from reflex.state import _substate_key
|
|
101
|
+
|
|
102
|
+
if not app.event_namespace:
|
|
103
|
+
return JSONResponse({})
|
|
104
|
+
|
|
105
|
+
token_to_clone = await request.json()
|
|
106
|
+
|
|
107
|
+
if not isinstance(token_to_clone, str):
|
|
108
|
+
return JSONResponse(
|
|
109
|
+
{"error": "Token to clone must be a string."}, status_code=400
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
old_state = await app.state_manager.get_state(token_to_clone)
|
|
113
|
+
|
|
114
|
+
new_state = _deep_copy(old_state)
|
|
115
|
+
|
|
116
|
+
new_token = uuid.uuid4().hex
|
|
117
|
+
|
|
118
|
+
all_states = [new_state]
|
|
119
|
+
|
|
120
|
+
found_new = True
|
|
121
|
+
|
|
122
|
+
while found_new:
|
|
123
|
+
found_new = False
|
|
124
|
+
|
|
125
|
+
for state in all_states:
|
|
126
|
+
for substate in state.substates.values():
|
|
127
|
+
substate._was_touched = True
|
|
128
|
+
|
|
129
|
+
if substate not in all_states:
|
|
130
|
+
all_states.append(substate)
|
|
131
|
+
|
|
132
|
+
found_new = True
|
|
133
|
+
|
|
134
|
+
await app.state_manager.set_state(
|
|
135
|
+
_substate_key(new_token, new_state), new_state
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
return JSONResponse(new_token)
|
|
139
|
+
|
|
140
|
+
app._api.add_route(
|
|
141
|
+
CLONE_STATE,
|
|
142
|
+
clone_state,
|
|
143
|
+
methods=["POST"],
|
|
144
|
+
)
|
|
@@ -7,7 +7,7 @@ from typing import TYPE_CHECKING, ParamSpec, Protocol, TypedDict
|
|
|
7
7
|
from typing_extensions import Unpack
|
|
8
8
|
|
|
9
9
|
if TYPE_CHECKING:
|
|
10
|
-
from reflex.app import UnevaluatedPage
|
|
10
|
+
from reflex.app import App, UnevaluatedPage
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
class CommonContext(TypedDict):
|
|
@@ -44,6 +44,12 @@ class PreCompileContext(CommonContext):
|
|
|
44
44
|
unevaluated_pages: Sequence["UnevaluatedPage"]
|
|
45
45
|
|
|
46
46
|
|
|
47
|
+
class PostCompileContext(CommonContext):
|
|
48
|
+
"""Context for post-compile hooks."""
|
|
49
|
+
|
|
50
|
+
app: "App"
|
|
51
|
+
|
|
52
|
+
|
|
47
53
|
class Plugin:
|
|
48
54
|
"""Base class for all plugins."""
|
|
49
55
|
|
|
@@ -104,6 +110,13 @@ class Plugin:
|
|
|
104
110
|
context: The context for the plugin.
|
|
105
111
|
"""
|
|
106
112
|
|
|
113
|
+
def post_compile(self, **context: Unpack[PostCompileContext]) -> None:
|
|
114
|
+
"""Called after the compilation of the plugin.
|
|
115
|
+
|
|
116
|
+
Args:
|
|
117
|
+
context: The context for the plugin.
|
|
118
|
+
"""
|
|
119
|
+
|
|
107
120
|
def __repr__(self):
|
|
108
121
|
"""Return a string representation of the plugin.
|
|
109
122
|
|
|
@@ -509,7 +509,7 @@ class BaseState(EvenMoreBasicBaseState):
|
|
|
509
509
|
|
|
510
510
|
new_backend_vars = {
|
|
511
511
|
name: value
|
|
512
|
-
for name, value in cls.__dict__.items()
|
|
512
|
+
for name, value in list(cls.__dict__.items())
|
|
513
513
|
if types.is_backend_base_variable(name, cls)
|
|
514
514
|
}
|
|
515
515
|
# Add annotated backend vars that may not have a default value.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/README.md.jinja2
RENAMED
|
File without changes
|
{reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/__init__.py.jinja2
RENAMED
|
File without changes
|
{reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2
RENAMED
|
File without changes
|
{reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2
RENAMED
|
File without changes
|
{reflex-0.8.6a0 → reflex-0.8.6a1}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|