reflex 0.7.14a2__tar.gz → 0.7.14a3__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.7.14a2 → reflex-0.7.14a3}/PKG-INFO +1 -1
- {reflex-0.7.14a2 → reflex-0.7.14a3}/pyproject.toml +1 -1
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/component.py +8 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/config.py +6 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/console.py +61 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/exec.py +102 -27
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/telemetry.py +15 -0
- reflex-0.7.14a2/reflex/experimental/layout.pyi +0 -814
- {reflex-0.7.14a2 → reflex-0.7.14a3}/.gitignore +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/LICENSE +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/README.md +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/components/shiki/code.js +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/next.config.js +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/.templates/web/utils/state.js +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/__main__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/admin.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/app.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/assets.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/base.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/compiler/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/compiler/compiler.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/compiler/templates.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/compiler/utils.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/bare.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/body.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/body.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/document.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/document.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/error_boundary.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/error_boundary.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/fragment.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/head.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/head.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/link.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/link.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/meta.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/script.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/script.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/strict_mode.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/base/strict_mode.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/auto_scroll.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/auto_scroll.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/banner.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/client_side_routing.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/clipboard.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/clipboard.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/colors.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/cond.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/debounce.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/foreach.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/html.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/html.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/match.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/responsive.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/sticky.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/sticky.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/upload.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/datadisplay/code.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/datadisplay/code.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/datadisplay/dataeditor.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/datadisplay/shiki_code_block.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/dynamic.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/element.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/element.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/forms.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/forms.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/metadata.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/literals.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/lucide/icon.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/markdown/markdown.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/moment/moment.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/next/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/next/base.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/next/base.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/next/image.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/next/image.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/next/link.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/next/link.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/next/video.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/next/video.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/plotly/plotly.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/props.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/accordion.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/color_mode.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/react_player/video.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/cartesian.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/cartesian.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/charts.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/general.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/sonner/toast.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/sonner/toast.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/suneditor/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/suneditor/editor.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/suneditor/editor.pyi +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/tags/tag.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/constants/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/constants/base.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/constants/colors.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/constants/compiler.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/constants/config.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/constants/custom_components.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/constants/event.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/constants/installer.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/constants/route.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/constants/state.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/constants/utils.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/custom_components/custom_components.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/event.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/experimental/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/experimental/client_state.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/experimental/hooks.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/experimental/layout.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/istate/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/istate/data.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/istate/dynamic.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/istate/manager.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/istate/proxy.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/istate/storage.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/istate/wrappers.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/middleware/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/middleware/middleware.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/model.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/page.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/plugins/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/plugins/base.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/plugins/tailwind_v3.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/plugins/tailwind_v4.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/py.typed +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/reflex.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/route.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/state.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/style.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/testing.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/build.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/codespaces.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/compat.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/decorator.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/exceptions.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/export.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/format.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/imports.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/misc.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/net.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/path_ops.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/prerequisites.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/processes.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/redir.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/registry.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/serializers.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/utils/types.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/vars/__init__.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/vars/base.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/vars/datetime.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/vars/dep_tracking.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/vars/function.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/vars/number.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/vars/object.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/reflex/vars/sequence.py +0 -0
- {reflex-0.7.14a2 → reflex-0.7.14a3}/scripts/hatch_build.py +0 -0
|
@@ -2206,6 +2206,14 @@ class CustomComponent(Component):
|
|
|
2206
2206
|
component._add_style_recursive(style)
|
|
2207
2207
|
return component
|
|
2208
2208
|
|
|
2209
|
+
def _get_all_app_wrap_components(self) -> dict[tuple[int, str], Component]:
|
|
2210
|
+
"""Get the app wrap components for the custom component.
|
|
2211
|
+
|
|
2212
|
+
Returns:
|
|
2213
|
+
The app wrap components.
|
|
2214
|
+
"""
|
|
2215
|
+
return self.get_component()._get_all_app_wrap_components()
|
|
2216
|
+
|
|
2209
2217
|
|
|
2210
2218
|
CUSTOM_COMPONENTS: dict[str, CustomComponent] = {}
|
|
2211
2219
|
|
|
@@ -766,6 +766,12 @@ class EnvironmentVariables:
|
|
|
766
766
|
# Whether to run Granian in a spawn process. This enables Reflex to pick up on environment variable changes between hot reloads.
|
|
767
767
|
REFLEX_STRICT_HOT_RELOAD: EnvVar[bool] = env_var(False)
|
|
768
768
|
|
|
769
|
+
# The path to the reflex log file. If not set, the log file will be stored in the reflex user directory.
|
|
770
|
+
REFLEX_LOG_FILE: EnvVar[Path | None] = env_var(None)
|
|
771
|
+
|
|
772
|
+
# Enable full logging of debug messages to reflex user directory.
|
|
773
|
+
REFLEX_ENABLE_FULL_LOGGING: EnvVar[bool] = env_var(False)
|
|
774
|
+
|
|
769
775
|
|
|
770
776
|
environment = EnvironmentVariables()
|
|
771
777
|
|
|
@@ -15,6 +15,8 @@ from rich.progress import MofNCompleteColumn, Progress, TimeElapsedColumn
|
|
|
15
15
|
from rich.prompt import Prompt
|
|
16
16
|
|
|
17
17
|
from reflex.constants import LogLevel
|
|
18
|
+
from reflex.constants.base import Reflex
|
|
19
|
+
from reflex.utils.decorator import once
|
|
18
20
|
|
|
19
21
|
# Console for pretty printing.
|
|
20
22
|
_console = Console()
|
|
@@ -92,6 +94,51 @@ def print(msg: str, dedupe: bool = False, **kwargs):
|
|
|
92
94
|
_console.print(msg, **kwargs)
|
|
93
95
|
|
|
94
96
|
|
|
97
|
+
@once
|
|
98
|
+
def log_file_console():
|
|
99
|
+
"""Create a console that logs to a file.
|
|
100
|
+
|
|
101
|
+
Returns:
|
|
102
|
+
A Console object that logs to a file.
|
|
103
|
+
"""
|
|
104
|
+
from reflex.config import environment
|
|
105
|
+
|
|
106
|
+
if not (env_log_file := environment.REFLEX_LOG_FILE.get()):
|
|
107
|
+
subseconds = int((time.time() % 1) * 1000)
|
|
108
|
+
timestamp = time.strftime("%Y-%m-%d_%H-%M-%S") + f"_{subseconds:03d}"
|
|
109
|
+
log_file = Reflex.DIR / "logs" / (timestamp + ".log")
|
|
110
|
+
log_file.parent.mkdir(parents=True, exist_ok=True)
|
|
111
|
+
else:
|
|
112
|
+
log_file = env_log_file
|
|
113
|
+
if log_file.exists():
|
|
114
|
+
log_file.unlink()
|
|
115
|
+
log_file.touch()
|
|
116
|
+
return Console(file=log_file.open("a", encoding="utf-8"))
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
@once
|
|
120
|
+
def should_use_log_file_console() -> bool:
|
|
121
|
+
"""Check if the log file console should be used.
|
|
122
|
+
|
|
123
|
+
Returns:
|
|
124
|
+
True if the log file console should be used, False otherwise.
|
|
125
|
+
"""
|
|
126
|
+
from reflex.config import environment
|
|
127
|
+
|
|
128
|
+
return environment.REFLEX_ENABLE_FULL_LOGGING.get()
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
def print_to_log_file(msg: str, dedupe: bool = False, **kwargs):
|
|
132
|
+
"""Print a message to the log file.
|
|
133
|
+
|
|
134
|
+
Args:
|
|
135
|
+
msg: The message to print.
|
|
136
|
+
dedupe: If True, suppress multiple console logs of print message.
|
|
137
|
+
kwargs: Keyword arguments to pass to the print function.
|
|
138
|
+
"""
|
|
139
|
+
log_file_console().print(msg, **kwargs)
|
|
140
|
+
|
|
141
|
+
|
|
95
142
|
def debug(msg: str, dedupe: bool = False, **kwargs):
|
|
96
143
|
"""Print a debug message.
|
|
97
144
|
|
|
@@ -110,6 +157,8 @@ def debug(msg: str, dedupe: bool = False, **kwargs):
|
|
|
110
157
|
progress.console.print(msg_, **kwargs)
|
|
111
158
|
else:
|
|
112
159
|
print(msg_, **kwargs)
|
|
160
|
+
if should_use_log_file_console() and kwargs.pop("progress", None) is None:
|
|
161
|
+
print_to_log_file(f"[purple]Debug: {msg}[/purple]", **kwargs)
|
|
113
162
|
|
|
114
163
|
|
|
115
164
|
def info(msg: str, dedupe: bool = False, **kwargs):
|
|
@@ -126,6 +175,8 @@ def info(msg: str, dedupe: bool = False, **kwargs):
|
|
|
126
175
|
return
|
|
127
176
|
_EMITTED_INFO.add(msg)
|
|
128
177
|
print(f"[cyan]Info: {msg}[/cyan]", **kwargs)
|
|
178
|
+
if should_use_log_file_console():
|
|
179
|
+
print_to_log_file(f"[cyan]Info: {msg}[/cyan]", **kwargs)
|
|
129
180
|
|
|
130
181
|
|
|
131
182
|
def success(msg: str, dedupe: bool = False, **kwargs):
|
|
@@ -142,6 +193,8 @@ def success(msg: str, dedupe: bool = False, **kwargs):
|
|
|
142
193
|
return
|
|
143
194
|
_EMITTED_SUCCESS.add(msg)
|
|
144
195
|
print(f"[green]Success: {msg}[/green]", **kwargs)
|
|
196
|
+
if should_use_log_file_console():
|
|
197
|
+
print_to_log_file(f"[green]Success: {msg}[/green]", **kwargs)
|
|
145
198
|
|
|
146
199
|
|
|
147
200
|
def log(msg: str, dedupe: bool = False, **kwargs):
|
|
@@ -158,6 +211,8 @@ def log(msg: str, dedupe: bool = False, **kwargs):
|
|
|
158
211
|
return
|
|
159
212
|
_EMITTED_LOGS.add(msg)
|
|
160
213
|
_console.log(msg, **kwargs)
|
|
214
|
+
if should_use_log_file_console():
|
|
215
|
+
print_to_log_file(msg, **kwargs)
|
|
161
216
|
|
|
162
217
|
|
|
163
218
|
def rule(title: str, **kwargs):
|
|
@@ -184,6 +239,8 @@ def warn(msg: str, dedupe: bool = False, **kwargs):
|
|
|
184
239
|
return
|
|
185
240
|
_EMIITED_WARNINGS.add(msg)
|
|
186
241
|
print(f"[orange1]Warning: {msg}[/orange1]", **kwargs)
|
|
242
|
+
if should_use_log_file_console():
|
|
243
|
+
print_to_log_file(f"[orange1]Warning: {msg}[/orange1]", **kwargs)
|
|
187
244
|
|
|
188
245
|
|
|
189
246
|
def _get_first_non_framework_frame() -> FrameType | None:
|
|
@@ -248,6 +305,8 @@ def deprecate(
|
|
|
248
305
|
)
|
|
249
306
|
if _LOG_LEVEL <= LogLevel.WARNING:
|
|
250
307
|
print(f"[yellow]DeprecationWarning: {msg}[/yellow]", **kwargs)
|
|
308
|
+
if should_use_log_file_console():
|
|
309
|
+
print_to_log_file(f"[yellow]DeprecationWarning: {msg}[/yellow]", **kwargs)
|
|
251
310
|
if dedupe:
|
|
252
311
|
_EMITTED_DEPRECATION_WARNINGS.add(dedupe_key)
|
|
253
312
|
|
|
@@ -266,6 +325,8 @@ def error(msg: str, dedupe: bool = False, **kwargs):
|
|
|
266
325
|
return
|
|
267
326
|
_EMITTED_ERRORS.add(msg)
|
|
268
327
|
print(f"[red]{msg}[/red]", **kwargs)
|
|
328
|
+
if should_use_log_file_console():
|
|
329
|
+
print_to_log_file(f"[red]{msg}[/red]", **kwargs)
|
|
269
330
|
|
|
270
331
|
|
|
271
332
|
def ask(
|
|
@@ -12,6 +12,7 @@ import subprocess
|
|
|
12
12
|
import sys
|
|
13
13
|
from collections.abc import Sequence
|
|
14
14
|
from pathlib import Path
|
|
15
|
+
from typing import NamedTuple, TypedDict
|
|
15
16
|
from urllib.parse import urljoin
|
|
16
17
|
|
|
17
18
|
import psutil
|
|
@@ -27,26 +28,102 @@ from reflex.utils.prerequisites import get_web_dir
|
|
|
27
28
|
frontend_process = None
|
|
28
29
|
|
|
29
30
|
|
|
30
|
-
def
|
|
31
|
-
"""
|
|
31
|
+
def get_package_json_and_hash(package_json_path: Path) -> tuple[PackageJson, str]:
|
|
32
|
+
"""Get the content of package.json and its hash.
|
|
32
33
|
|
|
33
34
|
Args:
|
|
34
|
-
|
|
35
|
+
package_json_path: The path to the package.json file.
|
|
35
36
|
|
|
36
37
|
Returns:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
Example:
|
|
40
|
-
>>> detect_package_change("package.json")
|
|
41
|
-
'a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7b8c9d0e1f2'
|
|
38
|
+
A tuple containing the content of package.json as a dictionary and its SHA-256 hash.
|
|
42
39
|
"""
|
|
43
|
-
with
|
|
40
|
+
with package_json_path.open("r") as file:
|
|
44
41
|
json_data = json.load(file)
|
|
45
42
|
|
|
46
43
|
# Calculate the hash
|
|
47
44
|
json_string = json.dumps(json_data, sort_keys=True)
|
|
48
45
|
hash_object = hashlib.sha256(json_string.encode())
|
|
49
|
-
return hash_object.hexdigest()
|
|
46
|
+
return (json_data, hash_object.hexdigest())
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
class PackageJson(TypedDict):
|
|
50
|
+
"""package.json content."""
|
|
51
|
+
|
|
52
|
+
dependencies: dict[str, str]
|
|
53
|
+
devDependencies: dict[str, str]
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class Change(NamedTuple):
|
|
57
|
+
"""A named tuple to represent a change in package dependencies."""
|
|
58
|
+
|
|
59
|
+
added: set[str]
|
|
60
|
+
removed: set[str]
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def format_change(name: str, change: Change) -> str:
|
|
64
|
+
"""Format the change for display.
|
|
65
|
+
|
|
66
|
+
Args:
|
|
67
|
+
name: The name of the change (e.g., "dependencies" or "devDependencies").
|
|
68
|
+
change: The Change named tuple containing added and removed packages.
|
|
69
|
+
|
|
70
|
+
Returns:
|
|
71
|
+
A formatted string representing the changes.
|
|
72
|
+
"""
|
|
73
|
+
if not change.added and not change.removed:
|
|
74
|
+
return ""
|
|
75
|
+
added_str = ", ".join(sorted(change.added))
|
|
76
|
+
removed_str = ", ".join(sorted(change.removed))
|
|
77
|
+
change_str = f"{name}:\n"
|
|
78
|
+
if change.added:
|
|
79
|
+
change_str += f" Added: {added_str}\n"
|
|
80
|
+
if change.removed:
|
|
81
|
+
change_str += f" Removed: {removed_str}\n"
|
|
82
|
+
return change_str.strip()
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
def get_different_packages(
|
|
86
|
+
old_package_json_content: PackageJson,
|
|
87
|
+
new_package_json_content: PackageJson,
|
|
88
|
+
) -> tuple[Change, Change]:
|
|
89
|
+
"""Get the packages that are different between two package JSON contents.
|
|
90
|
+
|
|
91
|
+
Args:
|
|
92
|
+
old_package_json_content: The content of the old package JSON.
|
|
93
|
+
new_package_json_content: The content of the new package JSON.
|
|
94
|
+
|
|
95
|
+
Returns:
|
|
96
|
+
A tuple containing two `Change` named tuples:
|
|
97
|
+
- The first `Change` contains the changes in the `dependencies` section.
|
|
98
|
+
- The second `Change` contains the changes in the `devDependencies` section.
|
|
99
|
+
"""
|
|
100
|
+
|
|
101
|
+
def get_changes(old: dict[str, str], new: dict[str, str]) -> Change:
|
|
102
|
+
"""Get the changes between two dictionaries.
|
|
103
|
+
|
|
104
|
+
Args:
|
|
105
|
+
old: The old dictionary of packages.
|
|
106
|
+
new: The new dictionary of packages.
|
|
107
|
+
|
|
108
|
+
Returns:
|
|
109
|
+
A `Change` named tuple containing the added and removed packages.
|
|
110
|
+
"""
|
|
111
|
+
old_keys = set(old.keys())
|
|
112
|
+
new_keys = set(new.keys())
|
|
113
|
+
added = new_keys - old_keys
|
|
114
|
+
removed = old_keys - new_keys
|
|
115
|
+
return Change(added=added, removed=removed)
|
|
116
|
+
|
|
117
|
+
dependencies_change = get_changes(
|
|
118
|
+
old_package_json_content.get("dependencies", {}),
|
|
119
|
+
new_package_json_content.get("dependencies", {}),
|
|
120
|
+
)
|
|
121
|
+
dev_dependencies_change = get_changes(
|
|
122
|
+
old_package_json_content.get("devDependencies", {}),
|
|
123
|
+
new_package_json_content.get("devDependencies", {}),
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
return dependencies_change, dev_dependencies_change
|
|
50
127
|
|
|
51
128
|
|
|
52
129
|
def kill(proc_pid: int):
|
|
@@ -86,7 +163,7 @@ def run_process_and_launch_url(
|
|
|
86
163
|
from reflex.utils import processes
|
|
87
164
|
|
|
88
165
|
json_file_path = get_web_dir() / constants.PackageJson.PATH
|
|
89
|
-
last_hash =
|
|
166
|
+
last_content, last_hash = get_package_json_and_hash(json_file_path)
|
|
90
167
|
process = None
|
|
91
168
|
first_run = True
|
|
92
169
|
|
|
@@ -105,6 +182,18 @@ def run_process_and_launch_url(
|
|
|
105
182
|
frontend_process = process
|
|
106
183
|
if process.stdout:
|
|
107
184
|
for line in processes.stream_logs("Starting frontend", process):
|
|
185
|
+
new_content, new_hash = get_package_json_and_hash(json_file_path)
|
|
186
|
+
if new_hash != last_hash:
|
|
187
|
+
dependencies_change, dev_dependencies_change = (
|
|
188
|
+
get_different_packages(last_content, new_content)
|
|
189
|
+
)
|
|
190
|
+
last_content, last_hash = new_content, new_hash
|
|
191
|
+
console.info(
|
|
192
|
+
"Detected changes in package.json.\n"
|
|
193
|
+
+ format_change("Dependencies", dependencies_change)
|
|
194
|
+
+ format_change("Dev Dependencies", dev_dependencies_change)
|
|
195
|
+
)
|
|
196
|
+
|
|
108
197
|
match = re.search(constants.Next.FRONTEND_LISTENING_REGEX, line)
|
|
109
198
|
if match:
|
|
110
199
|
if first_run:
|
|
@@ -119,22 +208,8 @@ def run_process_and_launch_url(
|
|
|
119
208
|
notify_backend()
|
|
120
209
|
first_run = False
|
|
121
210
|
else:
|
|
122
|
-
console.print("
|
|
123
|
-
|
|
124
|
-
if any(
|
|
125
|
-
x in line for x in ("bin executable does not exist on disk",)
|
|
126
|
-
):
|
|
127
|
-
console.error(
|
|
128
|
-
"Try setting `REFLEX_USE_NPM=1` and re-running `reflex init` and `reflex run` to use npm instead of bun:\n"
|
|
129
|
-
"`REFLEX_USE_NPM=1 reflex init`\n"
|
|
130
|
-
"`REFLEX_USE_NPM=1 reflex run`"
|
|
131
|
-
)
|
|
132
|
-
new_hash = detect_package_change(json_file_path)
|
|
133
|
-
if new_hash != last_hash:
|
|
134
|
-
last_hash = new_hash
|
|
135
|
-
kill(process.pid)
|
|
136
|
-
process = None
|
|
137
|
-
break # for line in process.stdout
|
|
211
|
+
console.print("Frontend is restarting...")
|
|
212
|
+
|
|
138
213
|
if process is not None:
|
|
139
214
|
break # while True
|
|
140
215
|
|
|
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import asyncio
|
|
6
6
|
import dataclasses
|
|
7
|
+
import importlib.metadata
|
|
7
8
|
import multiprocessing
|
|
8
9
|
import platform
|
|
9
10
|
import warnings
|
|
@@ -76,6 +77,18 @@ def get_cpu_count() -> int:
|
|
|
76
77
|
return multiprocessing.cpu_count()
|
|
77
78
|
|
|
78
79
|
|
|
80
|
+
def get_reflex_enterprise_version() -> str | None:
|
|
81
|
+
"""Get the version of reflex-enterprise if installed.
|
|
82
|
+
|
|
83
|
+
Returns:
|
|
84
|
+
The version string if installed, None if not installed.
|
|
85
|
+
"""
|
|
86
|
+
try:
|
|
87
|
+
return importlib.metadata.version("reflex-enterprise")
|
|
88
|
+
except importlib.metadata.PackageNotFoundError:
|
|
89
|
+
return None
|
|
90
|
+
|
|
91
|
+
|
|
79
92
|
def get_memory() -> int:
|
|
80
93
|
"""Get the total memory in MB.
|
|
81
94
|
|
|
@@ -113,6 +126,7 @@ class _Properties(TypedDict):
|
|
|
113
126
|
python_version: str
|
|
114
127
|
node_version: str | None
|
|
115
128
|
bun_version: str | None
|
|
129
|
+
reflex_enterprise_version: str | None
|
|
116
130
|
cpu_count: int
|
|
117
131
|
memory: int
|
|
118
132
|
cpu_info: dict
|
|
@@ -166,6 +180,7 @@ def _get_event_defaults() -> _DefaultEvent | None:
|
|
|
166
180
|
"bun_version": (
|
|
167
181
|
str(bun_version) if (bun_version := get_bun_version()) else None
|
|
168
182
|
),
|
|
183
|
+
"reflex_enterprise_version": get_reflex_enterprise_version(),
|
|
169
184
|
"cpu_count": get_cpu_count(),
|
|
170
185
|
"memory": get_memory(),
|
|
171
186
|
"cpu_info": dataclasses.asdict(cpuinfo) if cpuinfo else {},
|