reflex 0.8.0a1__tar.gz → 0.8.0a2__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.0a1 → reflex-0.8.0a2}/PKG-INFO +1 -1
- {reflex-0.8.0a1 → reflex-0.8.0a2}/pyproject.toml +1 -1
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +4 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -2
- reflex-0.8.0a2/reflex/.templates/web/app/routes.js +10 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +1 -6
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/utils/react-theme.js +9 -6
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/utils/state.js +6 -1
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/app.py +1 -1
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/compiler/compiler.py +1 -5
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/compiler/templates.py +3 -3
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/compiler/utils.py +24 -10
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/component.py +37 -23
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/datadisplay/code.py +2 -72
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/datadisplay/code.pyi +0 -3
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/datadisplay/dataeditor.pyi +6 -2
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/dynamic.py +1 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/link.py +6 -4
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/sonner/toast.pyi +3 -2
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/constants/__init__.py +1 -2
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/constants/base.py +1 -14
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/constants/compiler.py +1 -1
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/constants/installer.py +2 -3
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/constants/route.py +19 -7
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/route.py +15 -21
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/testing.py +1 -1
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/build.py +29 -13
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/export.py +1 -1
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/prerequisites.py +7 -7
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/processes.py +2 -1
- reflex-0.8.0a1/reflex/.templates/web/app/routes.js +0 -10
- {reflex-0.8.0a1 → reflex-0.8.0a2}/.gitignore +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/LICENSE +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/README.md +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/app/entry.client.js +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/components/shiki/code.js +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/react-router.config.js +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/web/vite.config.js +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/__main__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/admin.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/assets.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/base.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/compiler/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/bare.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/body.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/body.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/document.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/document.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/error_boundary.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/error_boundary.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/fragment.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/link.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/link.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/meta.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/script.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/script.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/strict_mode.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/base/strict_mode.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/auto_scroll.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/auto_scroll.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/banner.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/client_side_routing.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/clipboard.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/clipboard.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/colors.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/cond.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/debounce.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/foreach.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/helmet.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/helmet.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/html.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/html.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/match.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/responsive.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/sticky.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/sticky.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/upload.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/datadisplay/shiki_code_block.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/element.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/element.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/forms.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/forms.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/metadata.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/field.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/literals.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/lucide/icon.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/markdown/markdown.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/moment/moment.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/plotly/plotly.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/props.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/accordion.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/color_mode.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/react_player/video.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/cartesian.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/cartesian.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/charts.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/general.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/sonner/toast.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/tags/tag.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/config.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/constants/colors.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/constants/config.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/constants/custom_components.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/constants/event.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/constants/state.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/constants/utils.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/custom_components/custom_components.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/environment.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/event.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/experimental/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/experimental/client_state.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/experimental/hooks.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/istate/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/istate/data.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/istate/dynamic.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/istate/manager.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/istate/proxy.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/istate/storage.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/istate/wrappers.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/middleware/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/middleware/middleware.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/model.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/page.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/plugins/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/plugins/base.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/plugins/shared_tailwind.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/plugins/sitemap.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/plugins/tailwind_v3.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/plugins/tailwind_v4.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/py.typed +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/reflex.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/state.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/style.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/codespaces.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/compat.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/console.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/decorator.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/exceptions.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/exec.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/format.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/imports.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/misc.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/net.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/path_ops.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/redir.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/registry.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/serializers.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/telemetry.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/utils/types.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/vars/__init__.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/vars/base.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/vars/datetime.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/vars/dep_tracking.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/vars/function.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/vars/number.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/vars/object.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/vars/sequence.py +0 -0
- {reflex-0.8.0a1 → reflex-0.8.0a2}/scripts/hatch_build.py +0 -0
{reflex-0.8.0a1 → reflex-0.8.0a2}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2
RENAMED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
{% from 'web/pages/macros.js.jinja2' import renderHooksWithMemo %}
|
|
3
3
|
{% set all_hooks = component._get_all_hooks() %}
|
|
4
4
|
|
|
5
|
+
{% if export %}
|
|
5
6
|
export function {{tag_name}} () {
|
|
7
|
+
{% else %}
|
|
8
|
+
function {{tag_name}} () {
|
|
9
|
+
{% endif %}
|
|
6
10
|
{{ renderHooksWithMemo(all_hooks, memo_trigger_hooks) }}
|
|
7
11
|
|
|
8
12
|
return (
|
|
@@ -69,8 +69,6 @@ export const initialEvents = () => []
|
|
|
69
69
|
|
|
70
70
|
export const isDevMode = {{ is_dev_mode|json_dumps }}
|
|
71
71
|
|
|
72
|
-
export const lastCompiledTimeStamp = {{ last_compiled_time|json_dumps }}
|
|
73
|
-
|
|
74
72
|
export function UploadFilesProvider({ children }) {
|
|
75
73
|
const [filesById, setFilesById] = useState({})
|
|
76
74
|
refs["__clear_selected_files"] = (id) => setFilesById(filesById => {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { route } from "@react-router/dev/routes";
|
|
2
|
+
import { flatRoutes } from "@react-router/fs-routes";
|
|
3
|
+
|
|
4
|
+
export default [
|
|
5
|
+
route("404", "routes/[404]_._index.jsx", { id: "404" }),
|
|
6
|
+
...(await flatRoutes({
|
|
7
|
+
ignoredRouteFiles: ["routes/\\[404\\]_._index.jsx"],
|
|
8
|
+
})),
|
|
9
|
+
route("*", "routes/[404]_._index.jsx"),
|
|
10
|
+
];
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { useTheme } from "$/utils/react-theme";
|
|
2
2
|
import { createElement } from "react";
|
|
3
|
-
import {
|
|
4
|
-
ColorModeContext,
|
|
5
|
-
defaultColorMode,
|
|
6
|
-
isDevMode,
|
|
7
|
-
lastCompiledTimeStamp,
|
|
8
|
-
} from "$/utils/context";
|
|
3
|
+
import { ColorModeContext, defaultColorMode } from "$/utils/context";
|
|
9
4
|
|
|
10
5
|
export default function RadixThemesColorModeProvider({ children }) {
|
|
11
6
|
const { theme, resolvedTheme, setTheme } = useTheme();
|
|
@@ -8,9 +8,13 @@ import {
|
|
|
8
8
|
useMemo,
|
|
9
9
|
} from "react";
|
|
10
10
|
|
|
11
|
-
import { isDevMode,
|
|
11
|
+
import { isDevMode, defaultColorMode } from "$/utils/context";
|
|
12
12
|
|
|
13
|
-
const ThemeContext = createContext(
|
|
13
|
+
const ThemeContext = createContext({
|
|
14
|
+
theme: defaultColorMode,
|
|
15
|
+
resolvedTheme: defaultColorMode !== "system" ? defaultColorMode : "light",
|
|
16
|
+
setTheme: () => {},
|
|
17
|
+
});
|
|
14
18
|
|
|
15
19
|
export function ThemeProvider({ children, defaultTheme = "system" }) {
|
|
16
20
|
const [theme, setTheme] = useState(defaultTheme);
|
|
@@ -28,11 +32,10 @@ export function ThemeProvider({ children, defaultTheme = "system" }) {
|
|
|
28
32
|
firstRender.current = false;
|
|
29
33
|
|
|
30
34
|
if (isDevMode) {
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
if (lastCompiledTimeInLocalStorage !== lastCompiledTimeStamp) {
|
|
35
|
+
const lastCompiledTheme = localStorage.getItem("last_compiled_theme");
|
|
36
|
+
if (lastCompiledTheme !== defaultColorMode) {
|
|
34
37
|
// on app startup, make sure the application color mode is persisted correctly.
|
|
35
|
-
localStorage.setItem("
|
|
38
|
+
localStorage.setItem("last_compiled_theme", defaultColorMode);
|
|
36
39
|
return;
|
|
37
40
|
}
|
|
38
41
|
}
|
|
@@ -842,7 +842,12 @@ export const useEventLoop = (
|
|
|
842
842
|
const params = useRef(paramsR);
|
|
843
843
|
|
|
844
844
|
useEffect(() => {
|
|
845
|
-
|
|
845
|
+
const { "*": splat, ...remainingParams } = paramsR;
|
|
846
|
+
if (splat) {
|
|
847
|
+
params.current = { ...remainingParams, splat: splat.split("/") };
|
|
848
|
+
} else {
|
|
849
|
+
params.current = remainingParams;
|
|
850
|
+
}
|
|
846
851
|
}, [paramsR]);
|
|
847
852
|
|
|
848
853
|
// Function to add new events to the event queue.
|
|
@@ -890,7 +890,7 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
890
890
|
def _check_routes_conflict(self, new_route: str):
|
|
891
891
|
"""Verify if there is any conflict between the new route and any existing route.
|
|
892
892
|
|
|
893
|
-
Based on conflicts that
|
|
893
|
+
Based on conflicts that React Router would throw if not intercepted.
|
|
894
894
|
|
|
895
895
|
Raises:
|
|
896
896
|
RouteValueError: exception showing which conflict exist with the route to be added
|
|
@@ -4,7 +4,6 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import sys
|
|
6
6
|
from collections.abc import Iterable, Sequence
|
|
7
|
-
from datetime import datetime
|
|
8
7
|
from inspect import getmodule
|
|
9
8
|
from pathlib import Path
|
|
10
9
|
from typing import TYPE_CHECKING
|
|
@@ -126,21 +125,18 @@ def _compile_contexts(state: type[BaseState] | None, theme: Component | None) ->
|
|
|
126
125
|
if appearance is None or str(LiteralVar.create(appearance)) == '"inherit"':
|
|
127
126
|
appearance = LiteralVar.create(SYSTEM_COLOR_MODE)
|
|
128
127
|
|
|
129
|
-
last_compiled_time = str(datetime.now())
|
|
130
128
|
return (
|
|
131
129
|
templates.CONTEXT.render(
|
|
132
130
|
initial_state=utils.compile_state(state),
|
|
133
131
|
state_name=state.get_name(),
|
|
134
132
|
client_storage=utils.compile_client_storage(state),
|
|
135
133
|
is_dev_mode=not is_prod_mode(),
|
|
136
|
-
last_compiled_time=last_compiled_time,
|
|
137
134
|
default_color_mode=appearance,
|
|
138
135
|
)
|
|
139
136
|
if state
|
|
140
137
|
else templates.CONTEXT.render(
|
|
141
138
|
is_dev_mode=not is_prod_mode(),
|
|
142
139
|
default_color_mode=appearance,
|
|
143
|
-
last_compiled_time=last_compiled_time,
|
|
144
140
|
)
|
|
145
141
|
)
|
|
146
142
|
|
|
@@ -429,7 +425,7 @@ def _compile_stateful_components(
|
|
|
429
425
|
|
|
430
426
|
# Include custom code in the shared component.
|
|
431
427
|
rendered_components.update(
|
|
432
|
-
dict.fromkeys(component._get_all_custom_code()),
|
|
428
|
+
dict.fromkeys(component._get_all_custom_code(export=True)),
|
|
433
429
|
)
|
|
434
430
|
|
|
435
431
|
# Include all imports in the shared component.
|
|
@@ -113,10 +113,10 @@ def from_string(source: str) -> Template:
|
|
|
113
113
|
# Template for the Reflex config file.
|
|
114
114
|
RXCONFIG = get_template("app/rxconfig.py.jinja2")
|
|
115
115
|
|
|
116
|
-
# Code to render
|
|
116
|
+
# Code to render the Document root.
|
|
117
117
|
DOCUMENT_ROOT = get_template("web/pages/_document.js.jinja2")
|
|
118
118
|
|
|
119
|
-
# Code to render
|
|
119
|
+
# Code to render App root.
|
|
120
120
|
APP_ROOT = get_template("web/pages/_app.js.jinja2")
|
|
121
121
|
|
|
122
122
|
# Template for the theme file.
|
|
@@ -128,7 +128,7 @@ CONTEXT = get_template("web/utils/context.js.jinja2")
|
|
|
128
128
|
# Template to render a component tag.
|
|
129
129
|
COMPONENT = get_template("web/pages/component.js.jinja2")
|
|
130
130
|
|
|
131
|
-
# Code to render a single
|
|
131
|
+
# Code to render a single react page.
|
|
132
132
|
PAGE = get_template("web/pages/index.js.jinja2")
|
|
133
133
|
|
|
134
134
|
# Code to render the custom components page.
|
|
@@ -5,7 +5,7 @@ from __future__ import annotations
|
|
|
5
5
|
import asyncio
|
|
6
6
|
import concurrent.futures
|
|
7
7
|
import traceback
|
|
8
|
-
from collections.abc import Sequence
|
|
8
|
+
from collections.abc import Mapping, Sequence
|
|
9
9
|
from datetime import datetime
|
|
10
10
|
from pathlib import Path
|
|
11
11
|
from typing import Any
|
|
@@ -174,6 +174,18 @@ def save_error(error: Exception) -> str:
|
|
|
174
174
|
return str(log_path)
|
|
175
175
|
|
|
176
176
|
|
|
177
|
+
def _sorted_keys(d: Mapping[str, Any]) -> dict[str, Any]:
|
|
178
|
+
"""Sort the keys of a dictionary.
|
|
179
|
+
|
|
180
|
+
Args:
|
|
181
|
+
d: The dictionary to sort.
|
|
182
|
+
|
|
183
|
+
Returns:
|
|
184
|
+
A new dictionary with sorted keys.
|
|
185
|
+
"""
|
|
186
|
+
return dict(sorted(d.items(), key=lambda kv: kv[0]))
|
|
187
|
+
|
|
188
|
+
|
|
177
189
|
def compile_state(state: type[BaseState]) -> dict:
|
|
178
190
|
"""Compile the state of the app.
|
|
179
191
|
|
|
@@ -198,10 +210,10 @@ def compile_state(state: type[BaseState]) -> dict:
|
|
|
198
210
|
console.warn(
|
|
199
211
|
f"Had to get initial state in a thread 🤮 {resolved_initial_state}",
|
|
200
212
|
)
|
|
201
|
-
return resolved_initial_state
|
|
213
|
+
return _sorted_keys(resolved_initial_state)
|
|
202
214
|
|
|
203
215
|
# Normally the compile runs before any event loop starts, we asyncio.run is available for calling.
|
|
204
|
-
return asyncio.run(_resolve_delta(initial_state))
|
|
216
|
+
return _sorted_keys(asyncio.run(_resolve_delta(initial_state)))
|
|
205
217
|
|
|
206
218
|
|
|
207
219
|
def _compile_client_storage_field(
|
|
@@ -403,7 +415,10 @@ def create_theme(style: ComponentStyle) -> dict:
|
|
|
403
415
|
|
|
404
416
|
def _format_route_part(part: str) -> str:
|
|
405
417
|
if part.startswith("[") and part.endswith("]"):
|
|
406
|
-
|
|
418
|
+
if part.startswith(("[...", "[[...")):
|
|
419
|
+
return "$"
|
|
420
|
+
# We don't add [] here since we are reusing them from the input
|
|
421
|
+
return "$" + part + "_"
|
|
407
422
|
return "[" + part + "]_"
|
|
408
423
|
|
|
409
424
|
|
|
@@ -411,9 +426,8 @@ def _path_to_file_stem(path: str) -> str:
|
|
|
411
426
|
if path == "index":
|
|
412
427
|
return "_index"
|
|
413
428
|
path = path if path != "index" else "/"
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
).lstrip(".")
|
|
429
|
+
name = ".".join([_format_route_part(part) for part in path.split("/")]).lstrip(".")
|
|
430
|
+
return name + "._index" if not name.endswith("$") else name
|
|
417
431
|
|
|
418
432
|
|
|
419
433
|
def get_page_path(path: str) -> str:
|
|
@@ -429,7 +443,7 @@ def get_page_path(path: str) -> str:
|
|
|
429
443
|
get_web_dir()
|
|
430
444
|
/ constants.Dirs.PAGES
|
|
431
445
|
/ constants.Dirs.ROUTES
|
|
432
|
-
/ (_path_to_file_stem(path) + constants.Ext.
|
|
446
|
+
/ (_path_to_file_stem(path) + constants.Ext.JSX)
|
|
433
447
|
)
|
|
434
448
|
|
|
435
449
|
|
|
@@ -477,7 +491,7 @@ def get_components_path() -> str:
|
|
|
477
491
|
return str(
|
|
478
492
|
get_web_dir()
|
|
479
493
|
/ constants.Dirs.UTILS
|
|
480
|
-
/ (constants.PageNames.COMPONENTS + constants.Ext.
|
|
494
|
+
/ (constants.PageNames.COMPONENTS + constants.Ext.JSX),
|
|
481
495
|
)
|
|
482
496
|
|
|
483
497
|
|
|
@@ -490,7 +504,7 @@ def get_stateful_components_path() -> str:
|
|
|
490
504
|
return str(
|
|
491
505
|
get_web_dir()
|
|
492
506
|
/ constants.Dirs.UTILS
|
|
493
|
-
/ (constants.PageNames.STATEFUL_COMPONENTS + constants.Ext.
|
|
507
|
+
/ (constants.PageNames.STATEFUL_COMPONENTS + constants.Ext.JSX)
|
|
494
508
|
)
|
|
495
509
|
|
|
496
510
|
|
|
@@ -2293,16 +2293,19 @@ class StatefulComponent(BaseComponent):
|
|
|
2293
2293
|
tag_to_stateful_component: ClassVar[dict[str, StatefulComponent]] = {}
|
|
2294
2294
|
|
|
2295
2295
|
# Reference to the original component that was memoized into this component.
|
|
2296
|
-
component: Component
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
code: str
|
|
2296
|
+
component: Component = field(
|
|
2297
|
+
default_factory=Component, is_javascript_property=False
|
|
2298
|
+
)
|
|
2300
2299
|
|
|
2301
2300
|
# How many times this component is referenced in the app.
|
|
2302
|
-
references: int = 0
|
|
2301
|
+
references: int = field(default=0, is_javascript_property=False)
|
|
2303
2302
|
|
|
2304
2303
|
# Whether the component has already been rendered to a shared file.
|
|
2305
|
-
rendered_as_shared: bool = False
|
|
2304
|
+
rendered_as_shared: bool = field(default=False, is_javascript_property=False)
|
|
2305
|
+
|
|
2306
|
+
memo_trigger_hooks: list[str] = field(
|
|
2307
|
+
default_factory=list, is_javascript_property=False
|
|
2308
|
+
)
|
|
2306
2309
|
|
|
2307
2310
|
@classmethod
|
|
2308
2311
|
def create(cls, component: Component) -> StatefulComponent | None:
|
|
@@ -2362,8 +2365,7 @@ class StatefulComponent(BaseComponent):
|
|
|
2362
2365
|
# Look up the tag in the cache
|
|
2363
2366
|
stateful_component = cls.tag_to_stateful_component.get(tag_name)
|
|
2364
2367
|
if stateful_component is None:
|
|
2365
|
-
|
|
2366
|
-
code = cls._render_stateful_code(component, tag_name=tag_name)
|
|
2368
|
+
memo_trigger_hooks = cls._fix_event_triggers(component)
|
|
2367
2369
|
# Set the stateful component in the cache for the given tag.
|
|
2368
2370
|
stateful_component = cls.tag_to_stateful_component.setdefault(
|
|
2369
2371
|
tag_name,
|
|
@@ -2371,7 +2373,7 @@ class StatefulComponent(BaseComponent):
|
|
|
2371
2373
|
children=component.children,
|
|
2372
2374
|
component=component,
|
|
2373
2375
|
tag=tag_name,
|
|
2374
|
-
|
|
2376
|
+
memo_trigger_hooks=memo_trigger_hooks,
|
|
2375
2377
|
),
|
|
2376
2378
|
)
|
|
2377
2379
|
# Bump the reference count -- multiple pages referencing the same component
|
|
@@ -2435,26 +2437,38 @@ class StatefulComponent(BaseComponent):
|
|
|
2435
2437
|
f"{component.tag or 'Comp'}_{code_hash}"
|
|
2436
2438
|
).capitalize()
|
|
2437
2439
|
|
|
2438
|
-
@classmethod
|
|
2439
2440
|
def _render_stateful_code(
|
|
2441
|
+
self,
|
|
2442
|
+
export: bool = False,
|
|
2443
|
+
) -> str:
|
|
2444
|
+
if not self.tag:
|
|
2445
|
+
return ""
|
|
2446
|
+
# Render the code for this component and hooks.
|
|
2447
|
+
return STATEFUL_COMPONENT.render(
|
|
2448
|
+
tag_name=self.tag,
|
|
2449
|
+
memo_trigger_hooks=self.memo_trigger_hooks,
|
|
2450
|
+
component=self.component,
|
|
2451
|
+
export=export,
|
|
2452
|
+
)
|
|
2453
|
+
|
|
2454
|
+
@classmethod
|
|
2455
|
+
def _fix_event_triggers(
|
|
2440
2456
|
cls,
|
|
2441
2457
|
component: Component,
|
|
2442
|
-
|
|
2443
|
-
) -> str:
|
|
2458
|
+
) -> list[str]:
|
|
2444
2459
|
"""Render the code for a stateful component.
|
|
2445
2460
|
|
|
2446
2461
|
Args:
|
|
2447
2462
|
component: The component to render.
|
|
2448
|
-
tag_name: The tag name for the stateful component (see _get_tag_name).
|
|
2449
2463
|
|
|
2450
2464
|
Returns:
|
|
2451
|
-
The
|
|
2465
|
+
The memoized event trigger hooks for the component.
|
|
2452
2466
|
"""
|
|
2453
2467
|
# Memoize event triggers useCallback to avoid unnecessary re-renders.
|
|
2454
2468
|
memo_event_triggers = tuple(cls._get_memoized_event_triggers(component).items())
|
|
2455
2469
|
|
|
2456
2470
|
# Trigger hooks stored separately to write after the normal hooks (see stateful_component.js.jinja2)
|
|
2457
|
-
memo_trigger_hooks = []
|
|
2471
|
+
memo_trigger_hooks: list[str] = []
|
|
2458
2472
|
|
|
2459
2473
|
if memo_event_triggers:
|
|
2460
2474
|
# Copy the component to avoid mutating the original.
|
|
@@ -2468,12 +2482,7 @@ class StatefulComponent(BaseComponent):
|
|
|
2468
2482
|
memo_trigger_hooks.append(memo_trigger_hook)
|
|
2469
2483
|
component.event_triggers[event_trigger] = memo_trigger
|
|
2470
2484
|
|
|
2471
|
-
|
|
2472
|
-
return STATEFUL_COMPONENT.render(
|
|
2473
|
-
tag_name=tag_name,
|
|
2474
|
-
memo_trigger_hooks=memo_trigger_hooks,
|
|
2475
|
-
component=component,
|
|
2476
|
-
)
|
|
2485
|
+
return memo_trigger_hooks
|
|
2477
2486
|
|
|
2478
2487
|
@staticmethod
|
|
2479
2488
|
def _get_hook_deps(hook: str) -> list[str]:
|
|
@@ -2631,15 +2640,20 @@ class StatefulComponent(BaseComponent):
|
|
|
2631
2640
|
return set()
|
|
2632
2641
|
return self.component._get_all_dynamic_imports()
|
|
2633
2642
|
|
|
2634
|
-
def _get_all_custom_code(self) -> set[str]:
|
|
2643
|
+
def _get_all_custom_code(self, export: bool = False) -> set[str]:
|
|
2635
2644
|
"""Get custom code for the component.
|
|
2636
2645
|
|
|
2646
|
+
Args:
|
|
2647
|
+
export: Whether to export the component.
|
|
2648
|
+
|
|
2637
2649
|
Returns:
|
|
2638
2650
|
The custom code.
|
|
2639
2651
|
"""
|
|
2640
2652
|
if self.rendered_as_shared:
|
|
2641
2653
|
return set()
|
|
2642
|
-
return self.component._get_all_custom_code().union(
|
|
2654
|
+
return self.component._get_all_custom_code().union(
|
|
2655
|
+
{self._render_stateful_code(export=export)}
|
|
2656
|
+
)
|
|
2643
2657
|
|
|
2644
2658
|
def _get_all_refs(self) -> set[str]:
|
|
2645
2659
|
"""Get the refs for the children of the component.
|
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import dataclasses
|
|
6
|
-
import typing
|
|
7
6
|
from typing import ClassVar, Literal
|
|
8
7
|
|
|
9
8
|
from reflex.components.component import Component, ComponentNamespace
|
|
10
9
|
from reflex.components.core.cond import color_mode_cond
|
|
11
10
|
from reflex.components.lucide.icon import Icon
|
|
12
|
-
from reflex.components.markdown.markdown import
|
|
11
|
+
from reflex.components.markdown.markdown import MarkdownComponentMap
|
|
13
12
|
from reflex.components.radix.themes.components.button import Button
|
|
14
13
|
from reflex.components.radix.themes.layout.box import Box
|
|
15
14
|
from reflex.constants.colors import Color
|
|
@@ -315,7 +314,7 @@ def construct_theme_var(theme: str) -> Var[Theme]:
|
|
|
315
314
|
theme,
|
|
316
315
|
_var_data=VarData(
|
|
317
316
|
imports={
|
|
318
|
-
f"react-syntax-highlighter/dist/
|
|
317
|
+
f"react-syntax-highlighter/dist/esm/styles/prism/{format.to_kebab_case(theme)}": [
|
|
319
318
|
ImportVar(tag=theme, is_default=True, install=False)
|
|
320
319
|
]
|
|
321
320
|
}
|
|
@@ -502,75 +501,6 @@ class CodeBlock(Component, MarkdownComponentMap):
|
|
|
502
501
|
def _exclude_props(self) -> list[str]:
|
|
503
502
|
return ["can_copy", "copy_button"]
|
|
504
503
|
|
|
505
|
-
@classmethod
|
|
506
|
-
def _get_language_registration_hook(cls, language_var: Var = _LANGUAGE) -> Var:
|
|
507
|
-
"""Get the hook to register the language.
|
|
508
|
-
|
|
509
|
-
Args:
|
|
510
|
-
language_var: The const/literal Var of the language module to import.
|
|
511
|
-
For markdown, uses the default placeholder _LANGUAGE. For direct use,
|
|
512
|
-
a LiteralStringVar should be passed via the language prop.
|
|
513
|
-
|
|
514
|
-
Returns:
|
|
515
|
-
The hook to register the language.
|
|
516
|
-
"""
|
|
517
|
-
language_in_there = Var.create(typing.get_args(LiteralCodeLanguage)).contains(
|
|
518
|
-
language_var
|
|
519
|
-
)
|
|
520
|
-
async_load = f"""
|
|
521
|
-
(async () => {{
|
|
522
|
-
try {{
|
|
523
|
-
const module = await import(`react-syntax-highlighter/dist/cjs/languages/prism/${{{language_var!s}}}`);
|
|
524
|
-
SyntaxHighlighter.registerLanguage({language_var!s}, module.default);
|
|
525
|
-
}} catch (error) {{
|
|
526
|
-
console.error(`Language ${{{language_var!s}}} is not supported for code blocks inside of markdown: `, error);
|
|
527
|
-
}}
|
|
528
|
-
}})();
|
|
529
|
-
"""
|
|
530
|
-
return Var(
|
|
531
|
-
f"""
|
|
532
|
-
if ({language_var!s}) {{
|
|
533
|
-
if (!{language_in_there!s}) {{
|
|
534
|
-
console.warn(`Language \\`${{{language_var!s}}}\\` is not supported for code blocks inside of markdown.`);
|
|
535
|
-
{language_var!s} = '';
|
|
536
|
-
}} else {{
|
|
537
|
-
{async_load!s}
|
|
538
|
-
}}
|
|
539
|
-
}}
|
|
540
|
-
"""
|
|
541
|
-
if not isinstance(language_var, LiteralVar)
|
|
542
|
-
else f"""
|
|
543
|
-
if ({language_var!s}) {{
|
|
544
|
-
{async_load!s}
|
|
545
|
-
}}""",
|
|
546
|
-
_var_data=VarData(
|
|
547
|
-
imports={
|
|
548
|
-
cls.get_fields()["library"].default_value(): [
|
|
549
|
-
ImportVar(tag="PrismAsyncLight", alias="SyntaxHighlighter")
|
|
550
|
-
]
|
|
551
|
-
},
|
|
552
|
-
),
|
|
553
|
-
)
|
|
554
|
-
|
|
555
|
-
@classmethod
|
|
556
|
-
def get_component_map_custom_code(cls) -> Var:
|
|
557
|
-
"""Get the custom code for the component.
|
|
558
|
-
|
|
559
|
-
Returns:
|
|
560
|
-
The custom code for the component.
|
|
561
|
-
"""
|
|
562
|
-
return cls._get_language_registration_hook()
|
|
563
|
-
|
|
564
|
-
def add_hooks(self) -> list[str | Var]:
|
|
565
|
-
"""Add hooks for the component.
|
|
566
|
-
|
|
567
|
-
Returns:
|
|
568
|
-
The hooks for the component.
|
|
569
|
-
"""
|
|
570
|
-
return [
|
|
571
|
-
self._get_language_registration_hook(language_var=self.language),
|
|
572
|
-
]
|
|
573
|
-
|
|
574
504
|
|
|
575
505
|
class CodeblockNamespace(ComponentNamespace):
|
|
576
506
|
"""Namespace for the CodeBlock component."""
|
|
@@ -987,9 +987,6 @@ class CodeBlock(Component, MarkdownComponentMap):
|
|
|
987
987
|
"""
|
|
988
988
|
|
|
989
989
|
def add_style(self): ...
|
|
990
|
-
@classmethod
|
|
991
|
-
def get_component_map_custom_code(cls) -> Var: ...
|
|
992
|
-
def add_hooks(self) -> list[str | Var]: ...
|
|
993
990
|
|
|
994
991
|
class CodeblockNamespace(ComponentNamespace):
|
|
995
992
|
themes = Theme
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
# ------------------- DO NOT EDIT ----------------------
|
|
4
4
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
|
5
5
|
# ------------------------------------------------------
|
|
6
|
+
import dataclasses
|
|
6
7
|
from collections.abc import Mapping, Sequence
|
|
7
8
|
from enum import Enum
|
|
8
9
|
from typing import Any, Literal, TypedDict, overload
|
|
9
10
|
|
|
10
|
-
from reflex.base import Base
|
|
11
11
|
from reflex.components.component import NoSSRComponent
|
|
12
12
|
from reflex.components.core.breakpoints import Breakpoints
|
|
13
13
|
from reflex.event import EventType, PointerEventInfo
|
|
@@ -43,7 +43,8 @@ class GridColumnIcons(Enum):
|
|
|
43
43
|
Uri = "uri"
|
|
44
44
|
VideoUri = "video_uri"
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
@dataclasses.dataclass
|
|
47
|
+
class DataEditorThemeBase:
|
|
47
48
|
accent_color: str | None
|
|
48
49
|
accent_fg: str | None
|
|
49
50
|
accent_light: str | None
|
|
@@ -77,6 +78,9 @@ class DataEditorTheme(Base):
|
|
|
77
78
|
text_light: str | None
|
|
78
79
|
text_medium: str | None
|
|
79
80
|
|
|
81
|
+
@dataclasses.dataclass(init=False)
|
|
82
|
+
class DataEditorTheme(DataEditorThemeBase): ...
|
|
83
|
+
|
|
80
84
|
class Bounds(TypedDict):
|
|
81
85
|
x: int
|
|
82
86
|
y: int
|
|
@@ -123,16 +123,18 @@ class Link(RadixThemesComponent, A, MemoizationLeaf, MarkdownComponentMap):
|
|
|
123
123
|
|
|
124
124
|
if "as_child" not in props:
|
|
125
125
|
# Extract props for the ReactRouterLink, the rest go to the Link/A element.
|
|
126
|
-
|
|
126
|
+
react_router_link_props = {}
|
|
127
127
|
for prop in props.copy():
|
|
128
128
|
if prop in _KNOWN_REACT_ROUTER_LINK_PROPS:
|
|
129
|
-
|
|
129
|
+
react_router_link_props[prop] = props.pop(prop)
|
|
130
130
|
|
|
131
|
-
|
|
131
|
+
react_router_link_props["to"] = react_router_link_props.pop(
|
|
132
|
+
"href", href
|
|
133
|
+
)
|
|
132
134
|
|
|
133
135
|
# If user does not use `as_child`, by default we render using react_router_link to avoid page refresh during internal navigation
|
|
134
136
|
return super().create(
|
|
135
|
-
ReactRouterLink.create(*children, **
|
|
137
|
+
ReactRouterLink.create(*children, **react_router_link_props),
|
|
136
138
|
as_child=True,
|
|
137
139
|
**props,
|
|
138
140
|
)
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
# ------------------- DO NOT EDIT ----------------------
|
|
4
4
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
|
5
5
|
# ------------------------------------------------------
|
|
6
|
+
import dataclasses
|
|
6
7
|
from collections.abc import Mapping, Sequence
|
|
7
8
|
from typing import Any, Literal, overload
|
|
8
9
|
|
|
9
|
-
from reflex.base import Base
|
|
10
10
|
from reflex.components.component import Component, ComponentNamespace
|
|
11
11
|
from reflex.components.core.breakpoints import Breakpoints
|
|
12
12
|
from reflex.components.lucide.icon import Icon
|
|
@@ -32,7 +32,8 @@ toast_ref = Var(
|
|
|
32
32
|
_var_data=VarData(imports={f"$/{Dirs.STATE_PATH}": [ImportVar(tag="refs")]}),
|
|
33
33
|
)
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
@dataclasses.dataclass
|
|
36
|
+
class ToastAction:
|
|
36
37
|
label: str
|
|
37
38
|
on_click: Any
|
|
38
39
|
|
|
@@ -16,7 +16,6 @@ from .base import (
|
|
|
16
16
|
Dirs,
|
|
17
17
|
Env,
|
|
18
18
|
LogLevel,
|
|
19
|
-
Next,
|
|
20
19
|
Ping,
|
|
21
20
|
ReactRouter,
|
|
22
21
|
Reflex,
|
|
@@ -101,13 +100,13 @@ __all__ = [
|
|
|
101
100
|
"LogLevel",
|
|
102
101
|
"MemoizationDisposition",
|
|
103
102
|
"MemoizationMode",
|
|
104
|
-
"Next",
|
|
105
103
|
"Node",
|
|
106
104
|
"PackageJson",
|
|
107
105
|
"Page404",
|
|
108
106
|
"PageNames",
|
|
109
107
|
"Ping",
|
|
110
108
|
"PyprojectToml",
|
|
109
|
+
"ReactRouter",
|
|
111
110
|
"Reflex",
|
|
112
111
|
"RequirementsTxt",
|
|
113
112
|
"RouteArgType",
|
|
@@ -22,7 +22,7 @@ class Dirs(SimpleNamespace):
|
|
|
22
22
|
"""Various directories/paths used by Reflex."""
|
|
23
23
|
|
|
24
24
|
# The frontend directories in a project.
|
|
25
|
-
# The web folder where the
|
|
25
|
+
# The web folder where the frontend app is compiled to.
|
|
26
26
|
WEB = ".web"
|
|
27
27
|
# The directory where uploaded files are stored.
|
|
28
28
|
UPLOADED_FILES = "uploaded_files"
|
|
@@ -208,19 +208,6 @@ class Javascript(SimpleNamespace):
|
|
|
208
208
|
PACKAGE_LOCK = "package-lock.json"
|
|
209
209
|
|
|
210
210
|
|
|
211
|
-
class Next(Javascript):
|
|
212
|
-
"""Constants related to NextJS."""
|
|
213
|
-
|
|
214
|
-
# The NextJS config file
|
|
215
|
-
CONFIG_FILE = "next.config.js"
|
|
216
|
-
|
|
217
|
-
# The sitemap config file.
|
|
218
|
-
SITEMAP_CONFIG_FILE = "next-sitemap.config.js"
|
|
219
|
-
|
|
220
|
-
# Regex to check for message displayed when frontend comes up
|
|
221
|
-
FRONTEND_LISTENING_REGEX = "Local:[\\s]+(.*)"
|
|
222
|
-
|
|
223
|
-
|
|
224
211
|
class ReactRouter(Javascript):
|
|
225
212
|
"""Constants related to React Router."""
|
|
226
213
|
|