reflex 0.8.2__tar.gz → 0.8.3__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.2 → reflex-0.8.3}/PKG-INFO +1 -1
- {reflex-0.8.2 → reflex-0.8.3}/pyproject.toml +6 -3
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/utils/state.js +7 -2
- {reflex-0.8.2 → reflex-0.8.3}/reflex/__init__.py +1 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/__init__.pyi +2 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/app.py +8 -11
- {reflex-0.8.2 → reflex-0.8.3}/reflex/compiler/compiler.py +10 -38
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/error_boundary.py +6 -5
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/meta.pyi +4 -256
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/__init__.py +1 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/__init__.pyi +3 -0
- reflex-0.8.3/reflex/components/core/window_events.py +104 -0
- reflex-0.8.3/reflex/components/core/window_events.pyi +84 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/__init__.pyi +4 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/__init__.py +1 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/__init__.pyi +5 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/forms.py +4 -2
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/metadata.pyi +2 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/typography.py +7 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/typography.pyi +246 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/lucide/icon.py +303 -292
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/lucide/icon.pyi +303 -292
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/separator.py +4 -4
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/separator.pyi +3 -3
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/recharts.py +2 -2
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/sonner/toast.py +1 -1
- {reflex-0.8.2 → reflex-0.8.3}/reflex/constants/installer.py +1 -1
- {reflex-0.8.2 → reflex-0.8.3}/reflex/event.py +71 -10
- {reflex-0.8.2 → reflex-0.8.3}/reflex/model.py +55 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/plugins/base.py +2 -2
- {reflex-0.8.2 → reflex-0.8.3}/reflex/reflex.py +33 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/route.py +4 -4
- {reflex-0.8.2 → reflex-0.8.3}/reflex/state.py +9 -4
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/console.py +3 -3
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/exec.py +22 -6
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/format.py +1 -1
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/processes.py +28 -38
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/types.py +1 -1
- {reflex-0.8.2 → reflex-0.8.3}/.gitignore +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/LICENSE +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/README.md +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/app/entry.client.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/app/routes.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/components/shiki/code.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/react-router.config.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/styles/__reflex_style_reset.css +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/utils/react-theme.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/vite-plugin-safari-cachebust.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/.templates/web/vite.config.js +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/__main__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/admin.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/assets.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/base.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/compiler/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/compiler/templates.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/compiler/utils.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/__init__.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/bare.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/body.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/body.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/document.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/document.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/error_boundary.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/fragment.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/link.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/link.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/meta.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/script.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/script.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/strict_mode.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/base/strict_mode.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/component.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/auto_scroll.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/auto_scroll.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/banner.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/client_side_routing.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/clipboard.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/clipboard.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/colors.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/cond.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/debounce.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/foreach.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/helmet.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/helmet.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/html.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/html.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/match.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/responsive.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/sticky.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/sticky.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/upload.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/datadisplay/code.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/datadisplay/code.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/datadisplay/dataeditor.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/datadisplay/shiki_code_block.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/datadisplay/shiki_code_block.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/dynamic.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/element.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/element.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/forms.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/field.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/literals.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/markdown/markdown.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/moment/moment.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/plotly/plotly.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/props.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/accordion.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/color_mode.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/react_player/video.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/react_router/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/react_router/dom.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/react_router/dom.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/cartesian.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/cartesian.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/charts.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/general.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/sonner/toast.pyi +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/tags/tag.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/config.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/constants/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/constants/base.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/constants/colors.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/constants/compiler.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/constants/config.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/constants/custom_components.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/constants/event.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/constants/route.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/constants/state.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/constants/utils.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/custom_components/custom_components.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/environment.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/experimental/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/experimental/client_state.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/experimental/hooks.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/istate/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/istate/data.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/istate/dynamic.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/istate/manager.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/istate/proxy.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/istate/storage.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/istate/wrappers.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/middleware/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/middleware/middleware.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/page.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/plugins/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/plugins/shared_tailwind.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/plugins/sitemap.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/plugins/tailwind_v3.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/plugins/tailwind_v4.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/py.typed +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/style.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/testing.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/build.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/codespaces.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/compat.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/decorator.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/exceptions.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/export.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/imports.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/misc.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/net.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/path_ops.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/prerequisites.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/redir.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/registry.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/serializers.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/utils/telemetry.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/vars/__init__.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/vars/base.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/vars/datetime.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/vars/dep_tracking.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/vars/function.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/vars/number.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/vars/object.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/reflex/vars/sequence.py +0 -0
- {reflex-0.8.2 → reflex-0.8.3}/scripts/hatch_build.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "reflex"
|
|
3
|
-
version = "0.8.
|
|
3
|
+
version = "0.8.3"
|
|
4
4
|
description = "Web apps in pure Python."
|
|
5
5
|
license.text = "Apache-2.0"
|
|
6
6
|
authors = [
|
|
@@ -229,7 +229,7 @@ fail_fast = true
|
|
|
229
229
|
|
|
230
230
|
[[tool.pre-commit.repos]]
|
|
231
231
|
repo = "https://github.com/astral-sh/ruff-pre-commit"
|
|
232
|
-
rev = "v0.12.
|
|
232
|
+
rev = "v0.12.3"
|
|
233
233
|
hooks = [
|
|
234
234
|
{ id = "ruff-format", args = [
|
|
235
235
|
"reflex",
|
|
@@ -261,7 +261,7 @@ hooks = [
|
|
|
261
261
|
|
|
262
262
|
[[tool.pre-commit.repos]]
|
|
263
263
|
repo = "https://github.com/RobertCraigie/pyright-python"
|
|
264
|
-
rev = "v1.1.
|
|
264
|
+
rev = "v1.1.403"
|
|
265
265
|
hooks = [{ id = "pyright", args = ["reflex", "tests"], language = "system" }]
|
|
266
266
|
|
|
267
267
|
[[tool.pre-commit.repos]]
|
|
@@ -273,3 +273,6 @@ hooks = [{ id = "darglint", exclude = "^reflex/reflex.py" }]
|
|
|
273
273
|
repo = "https://github.com/pre-commit/mirrors-prettier"
|
|
274
274
|
rev = "f62a70a3a7114896b062de517d72829ea1c884b6"
|
|
275
275
|
hooks = [{ id = "prettier", require_serial = true }]
|
|
276
|
+
|
|
277
|
+
[tool.uv]
|
|
278
|
+
required-version = ">=0.7.0"
|
|
@@ -993,7 +993,7 @@ export const useEventLoop = (
|
|
|
993
993
|
window.onerror = function (msg, url, lineNo, columnNo, error) {
|
|
994
994
|
addEvents([
|
|
995
995
|
Event(`${exception_state_name}.handle_frontend_exception`, {
|
|
996
|
-
|
|
996
|
+
info: error.name + ": " + error.message + "\n" + error.stack,
|
|
997
997
|
component_stack: "",
|
|
998
998
|
}),
|
|
999
999
|
]);
|
|
@@ -1005,7 +1005,12 @@ export const useEventLoop = (
|
|
|
1005
1005
|
window.onunhandledrejection = function (event) {
|
|
1006
1006
|
addEvents([
|
|
1007
1007
|
Event(`${exception_state_name}.handle_frontend_exception`, {
|
|
1008
|
-
|
|
1008
|
+
info:
|
|
1009
|
+
event.reason?.name +
|
|
1010
|
+
": " +
|
|
1011
|
+
event.reason?.message +
|
|
1012
|
+
"\n" +
|
|
1013
|
+
event.reason?.stack,
|
|
1009
1014
|
component_stack: "",
|
|
1010
1015
|
}),
|
|
1011
1016
|
]);
|
|
@@ -52,6 +52,7 @@ from .components.core.upload import (
|
|
|
52
52
|
selected_files,
|
|
53
53
|
upload,
|
|
54
54
|
)
|
|
55
|
+
from .components.core.window_events import window_event_listener
|
|
55
56
|
from .components.datadisplay.code import code_block
|
|
56
57
|
from .components.datadisplay.dataeditor import data_editor, data_editor_theme
|
|
57
58
|
from .components.datadisplay.logo import logo
|
|
@@ -348,4 +349,5 @@ __all__ = [
|
|
|
348
349
|
"video",
|
|
349
350
|
"vstack",
|
|
350
351
|
"window_alert",
|
|
352
|
+
"window_event_listener",
|
|
351
353
|
]
|
|
@@ -400,6 +400,9 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
400
400
|
# The state class to use for the app.
|
|
401
401
|
_state: type[BaseState] | None = None
|
|
402
402
|
|
|
403
|
+
# Whether to enable state for the app. If False, the app will not use state.
|
|
404
|
+
enable_state: bool = True
|
|
405
|
+
|
|
403
406
|
# Class to manage many client states.
|
|
404
407
|
_state_manager: StateManager | None = None
|
|
405
408
|
|
|
@@ -480,7 +483,8 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
480
483
|
if issubclass(clz, AppMixin):
|
|
481
484
|
clz._init_mixin(self)
|
|
482
485
|
|
|
483
|
-
self.
|
|
486
|
+
if self.enable_state:
|
|
487
|
+
self._enable_state()
|
|
484
488
|
|
|
485
489
|
# Set up the admin dash.
|
|
486
490
|
self._setup_admin_dash()
|
|
@@ -495,7 +499,7 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
495
499
|
"""Enable state for the app."""
|
|
496
500
|
if not self._state:
|
|
497
501
|
self._state = State
|
|
498
|
-
|
|
502
|
+
self._setup_state()
|
|
499
503
|
|
|
500
504
|
def _setup_state(self) -> None:
|
|
501
505
|
"""Set up the state for the app.
|
|
@@ -847,14 +851,10 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
847
851
|
save_page: If True, the compiled page is saved to self._pages.
|
|
848
852
|
"""
|
|
849
853
|
n_states_before = len(all_base_state_classes)
|
|
850
|
-
component
|
|
851
|
-
route, self._unevaluated_pages[route], self.
|
|
854
|
+
component = compiler.compile_unevaluated_page(
|
|
855
|
+
route, self._unevaluated_pages[route], self.style, self.theme
|
|
852
856
|
)
|
|
853
857
|
|
|
854
|
-
# Indicate that the app should use state.
|
|
855
|
-
if enable_state:
|
|
856
|
-
self._enable_state()
|
|
857
|
-
|
|
858
858
|
# Indicate that evaluating this page creates one or more state classes.
|
|
859
859
|
if len(all_base_state_classes) > n_states_before:
|
|
860
860
|
self._stateful_pages[route] = None
|
|
@@ -1146,7 +1146,6 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
1146
1146
|
for route in stateful_pages:
|
|
1147
1147
|
console.debug(f"BE Evaluating stateful page: {route}")
|
|
1148
1148
|
self._compile_page(route, save_page=False)
|
|
1149
|
-
self._enable_state()
|
|
1150
1149
|
self._add_optional_endpoints()
|
|
1151
1150
|
return
|
|
1152
1151
|
|
|
@@ -1345,8 +1344,6 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
1345
1344
|
for route, component in zip(self._pages, page_components, strict=True):
|
|
1346
1345
|
ExecutorSafeFunctions.COMPONENTS[route] = component
|
|
1347
1346
|
|
|
1348
|
-
ExecutorSafeFunctions.STATE = self._state
|
|
1349
|
-
|
|
1350
1347
|
modify_files_tasks: list[tuple[str, str, Callable[[str], str]]] = []
|
|
1351
1348
|
|
|
1352
1349
|
with console.timing("Compile to Javascript"), executor as executor:
|
|
@@ -145,15 +145,11 @@ def _compile_contexts(state: type[BaseState] | None, theme: Component | None) ->
|
|
|
145
145
|
)
|
|
146
146
|
|
|
147
147
|
|
|
148
|
-
def _compile_page(
|
|
149
|
-
component
|
|
150
|
-
state: type[BaseState] | None,
|
|
151
|
-
) -> str:
|
|
152
|
-
"""Compile the component given the app state.
|
|
148
|
+
def _compile_page(component: BaseComponent) -> str:
|
|
149
|
+
"""Compile the component.
|
|
153
150
|
|
|
154
151
|
Args:
|
|
155
152
|
component: The component to compile.
|
|
156
|
-
state: The app state.
|
|
157
153
|
|
|
158
154
|
Returns:
|
|
159
155
|
The compiled component.
|
|
@@ -163,15 +159,12 @@ def _compile_page(
|
|
|
163
159
|
imports = utils.compile_imports(imports)
|
|
164
160
|
|
|
165
161
|
# Compile the code to render the component.
|
|
166
|
-
kwargs = {"state_name": state.get_name()} if state is not None else {}
|
|
167
|
-
|
|
168
162
|
return templates.PAGE.render(
|
|
169
163
|
imports=imports,
|
|
170
164
|
dynamic_imports=component._get_all_dynamic_imports(),
|
|
171
165
|
custom_codes=component._get_all_custom_code(),
|
|
172
166
|
hooks=component._get_all_hooks(),
|
|
173
167
|
render=component.render(),
|
|
174
|
-
**kwargs,
|
|
175
168
|
)
|
|
176
169
|
|
|
177
170
|
|
|
@@ -556,15 +549,12 @@ def compile_contexts(
|
|
|
556
549
|
return output_path, _compile_contexts(state, theme)
|
|
557
550
|
|
|
558
551
|
|
|
559
|
-
def compile_page(
|
|
560
|
-
path: str, component: BaseComponent, state: type[BaseState] | None
|
|
561
|
-
) -> tuple[str, str]:
|
|
552
|
+
def compile_page(path: str, component: BaseComponent) -> tuple[str, str]:
|
|
562
553
|
"""Compile a single page.
|
|
563
554
|
|
|
564
555
|
Args:
|
|
565
556
|
path: The path to compile the page to.
|
|
566
557
|
component: The component to compile.
|
|
567
|
-
state: The app state.
|
|
568
558
|
|
|
569
559
|
Returns:
|
|
570
560
|
The path and code of the compiled page.
|
|
@@ -573,7 +563,7 @@ def compile_page(
|
|
|
573
563
|
output_path = utils.get_page_path(path)
|
|
574
564
|
|
|
575
565
|
# Add the style to the component.
|
|
576
|
-
code = _compile_page(component
|
|
566
|
+
code = _compile_page(component)
|
|
577
567
|
return output_path, code
|
|
578
568
|
|
|
579
569
|
|
|
@@ -788,16 +778,14 @@ def into_component(component: Component | ComponentCallable) -> Component:
|
|
|
788
778
|
def compile_unevaluated_page(
|
|
789
779
|
route: str,
|
|
790
780
|
page: UnevaluatedPage,
|
|
791
|
-
state: type[BaseState] | None = None,
|
|
792
781
|
style: ComponentStyle | None = None,
|
|
793
782
|
theme: Component | None = None,
|
|
794
|
-
) ->
|
|
783
|
+
) -> Component:
|
|
795
784
|
"""Compiles an uncompiled page into a component and adds meta information.
|
|
796
785
|
|
|
797
786
|
Args:
|
|
798
787
|
route: The route of the page.
|
|
799
788
|
page: The uncompiled page object.
|
|
800
|
-
state: The state of the app.
|
|
801
789
|
style: The style of the page.
|
|
802
790
|
theme: The theme of the page.
|
|
803
791
|
|
|
@@ -813,21 +801,6 @@ def compile_unevaluated_page(
|
|
|
813
801
|
|
|
814
802
|
component._add_style_recursive(style or {}, theme)
|
|
815
803
|
|
|
816
|
-
enable_state = False
|
|
817
|
-
# Ensure state is enabled if this page uses state.
|
|
818
|
-
if state is None:
|
|
819
|
-
if page.on_load or component._has_stateful_event_triggers():
|
|
820
|
-
enable_state = True
|
|
821
|
-
else:
|
|
822
|
-
for var in component._get_vars(include_children=True):
|
|
823
|
-
var_data = var._get_all_var_data()
|
|
824
|
-
if not var_data:
|
|
825
|
-
continue
|
|
826
|
-
if not var_data.state:
|
|
827
|
-
continue
|
|
828
|
-
enable_state = True
|
|
829
|
-
break
|
|
830
|
-
|
|
831
804
|
from reflex.utils.format import make_default_page_title
|
|
832
805
|
|
|
833
806
|
component = Fragment.create(component)
|
|
@@ -856,7 +829,7 @@ def compile_unevaluated_page(
|
|
|
856
829
|
e.add_note(f"Happened while evaluating page {route!r}")
|
|
857
830
|
raise
|
|
858
831
|
else:
|
|
859
|
-
return component
|
|
832
|
+
return component
|
|
860
833
|
|
|
861
834
|
|
|
862
835
|
class ExecutorSafeFunctions:
|
|
@@ -886,7 +859,6 @@ class ExecutorSafeFunctions:
|
|
|
886
859
|
|
|
887
860
|
COMPONENTS: dict[str, BaseComponent] = {}
|
|
888
861
|
UNCOMPILED_PAGES: dict[str, UnevaluatedPage] = {}
|
|
889
|
-
STATE: type[BaseState] | None = None
|
|
890
862
|
|
|
891
863
|
@classmethod
|
|
892
864
|
def compile_page(cls, route: str) -> tuple[str, str]:
|
|
@@ -898,7 +870,7 @@ class ExecutorSafeFunctions:
|
|
|
898
870
|
Returns:
|
|
899
871
|
The path and code of the compiled page.
|
|
900
872
|
"""
|
|
901
|
-
return compile_page(route, cls.COMPONENTS[route]
|
|
873
|
+
return compile_page(route, cls.COMPONENTS[route])
|
|
902
874
|
|
|
903
875
|
@classmethod
|
|
904
876
|
def compile_unevaluated_page(
|
|
@@ -917,10 +889,10 @@ class ExecutorSafeFunctions:
|
|
|
917
889
|
Returns:
|
|
918
890
|
The route, compiled component, and compiled page.
|
|
919
891
|
"""
|
|
920
|
-
component
|
|
921
|
-
route, cls.UNCOMPILED_PAGES[route],
|
|
892
|
+
component = compile_unevaluated_page(
|
|
893
|
+
route, cls.UNCOMPILED_PAGES[route], style, theme
|
|
922
894
|
)
|
|
923
|
-
return route, component, compile_page(route, component
|
|
895
|
+
return route, component, compile_page(route, component)
|
|
924
896
|
|
|
925
897
|
@classmethod
|
|
926
898
|
def compile_theme(cls, style: ComponentStyle | None) -> tuple[str, str]:
|
|
@@ -25,11 +25,14 @@ def on_error_spec(
|
|
|
25
25
|
The arguments for the event handler.
|
|
26
26
|
"""
|
|
27
27
|
return (
|
|
28
|
-
error.stack,
|
|
28
|
+
error.name.to(str) + ": " + error.message.to(str) + "\n" + error.stack.to(str),
|
|
29
29
|
info.componentStack,
|
|
30
30
|
)
|
|
31
31
|
|
|
32
32
|
|
|
33
|
+
_ERROR_DISPLAY: str = r"""event_args.error.name + ': ' + event_args.error.message + '\n' + event_args.error.stack"""
|
|
34
|
+
|
|
35
|
+
|
|
33
36
|
class ErrorBoundary(Component):
|
|
34
37
|
"""A React Error Boundary component that catches unhandled frontend exceptions."""
|
|
35
38
|
|
|
@@ -76,9 +79,7 @@ class ErrorBoundary(Component):
|
|
|
76
79
|
div(
|
|
77
80
|
div(
|
|
78
81
|
pre(
|
|
79
|
-
Var(
|
|
80
|
-
_js_expr="event_args.error.stack",
|
|
81
|
-
),
|
|
82
|
+
Var(_js_expr=_ERROR_DISPLAY),
|
|
82
83
|
),
|
|
83
84
|
padding="0.5rem",
|
|
84
85
|
width="fit-content",
|
|
@@ -93,7 +94,7 @@ class ErrorBoundary(Component):
|
|
|
93
94
|
button(
|
|
94
95
|
"Copy",
|
|
95
96
|
on_click=set_clipboard(
|
|
96
|
-
Var(_js_expr=
|
|
97
|
+
Var(_js_expr=_ERROR_DISPLAY)
|
|
97
98
|
),
|
|
98
99
|
padding="0.35rem 0.75rem",
|
|
99
100
|
margin="0.5rem",
|
|
@@ -8,6 +8,7 @@ from typing import Any, Literal
|
|
|
8
8
|
|
|
9
9
|
from reflex.components.core.breakpoints import Breakpoints
|
|
10
10
|
from reflex.components.el import elements
|
|
11
|
+
from reflex.components.el.elements.metadata import Meta as Meta
|
|
11
12
|
from reflex.event import EventType, PointerEventInfo
|
|
12
13
|
from reflex.vars.base import Var
|
|
13
14
|
|
|
@@ -63,261 +64,6 @@ class Title(elements.Title):
|
|
|
63
64
|
The component.
|
|
64
65
|
"""
|
|
65
66
|
|
|
66
|
-
class Meta(elements.Meta):
|
|
67
|
-
@classmethod
|
|
68
|
-
def create(
|
|
69
|
-
cls,
|
|
70
|
-
*children,
|
|
71
|
-
property: Var[str] | str | None = None,
|
|
72
|
-
char_set: Var[str] | str | None = None,
|
|
73
|
-
content: Var[str] | str | None = None,
|
|
74
|
-
http_equiv: Var[str] | str | None = None,
|
|
75
|
-
name: Var[str] | str | None = None,
|
|
76
|
-
access_key: Var[str] | str | None = None,
|
|
77
|
-
auto_capitalize: Literal[
|
|
78
|
-
"characters", "none", "off", "on", "sentences", "words"
|
|
79
|
-
]
|
|
80
|
-
| Var[Literal["characters", "none", "off", "on", "sentences", "words"]]
|
|
81
|
-
| None = None,
|
|
82
|
-
content_editable: Literal["inherit", "plaintext-only", False, True]
|
|
83
|
-
| Var[Literal["inherit", "plaintext-only", False, True]]
|
|
84
|
-
| None = None,
|
|
85
|
-
context_menu: Var[str] | str | None = None,
|
|
86
|
-
dir: Var[str] | str | None = None,
|
|
87
|
-
draggable: Var[bool] | bool | None = None,
|
|
88
|
-
enter_key_hint: Literal[
|
|
89
|
-
"done", "enter", "go", "next", "previous", "search", "send"
|
|
90
|
-
]
|
|
91
|
-
| Var[Literal["done", "enter", "go", "next", "previous", "search", "send"]]
|
|
92
|
-
| None = None,
|
|
93
|
-
hidden: Var[bool] | bool | None = None,
|
|
94
|
-
input_mode: Literal[
|
|
95
|
-
"decimal", "email", "none", "numeric", "search", "tel", "text", "url"
|
|
96
|
-
]
|
|
97
|
-
| Var[
|
|
98
|
-
Literal[
|
|
99
|
-
"decimal", "email", "none", "numeric", "search", "tel", "text", "url"
|
|
100
|
-
]
|
|
101
|
-
]
|
|
102
|
-
| None = None,
|
|
103
|
-
item_prop: Var[str] | str | None = None,
|
|
104
|
-
lang: Var[str] | str | None = None,
|
|
105
|
-
role: Literal[
|
|
106
|
-
"alert",
|
|
107
|
-
"alertdialog",
|
|
108
|
-
"application",
|
|
109
|
-
"article",
|
|
110
|
-
"banner",
|
|
111
|
-
"button",
|
|
112
|
-
"cell",
|
|
113
|
-
"checkbox",
|
|
114
|
-
"columnheader",
|
|
115
|
-
"combobox",
|
|
116
|
-
"complementary",
|
|
117
|
-
"contentinfo",
|
|
118
|
-
"definition",
|
|
119
|
-
"dialog",
|
|
120
|
-
"directory",
|
|
121
|
-
"document",
|
|
122
|
-
"feed",
|
|
123
|
-
"figure",
|
|
124
|
-
"form",
|
|
125
|
-
"grid",
|
|
126
|
-
"gridcell",
|
|
127
|
-
"group",
|
|
128
|
-
"heading",
|
|
129
|
-
"img",
|
|
130
|
-
"link",
|
|
131
|
-
"list",
|
|
132
|
-
"listbox",
|
|
133
|
-
"listitem",
|
|
134
|
-
"log",
|
|
135
|
-
"main",
|
|
136
|
-
"marquee",
|
|
137
|
-
"math",
|
|
138
|
-
"menu",
|
|
139
|
-
"menubar",
|
|
140
|
-
"menuitem",
|
|
141
|
-
"menuitemcheckbox",
|
|
142
|
-
"menuitemradio",
|
|
143
|
-
"navigation",
|
|
144
|
-
"none",
|
|
145
|
-
"note",
|
|
146
|
-
"option",
|
|
147
|
-
"presentation",
|
|
148
|
-
"progressbar",
|
|
149
|
-
"radio",
|
|
150
|
-
"radiogroup",
|
|
151
|
-
"region",
|
|
152
|
-
"row",
|
|
153
|
-
"rowgroup",
|
|
154
|
-
"rowheader",
|
|
155
|
-
"scrollbar",
|
|
156
|
-
"search",
|
|
157
|
-
"searchbox",
|
|
158
|
-
"separator",
|
|
159
|
-
"slider",
|
|
160
|
-
"spinbutton",
|
|
161
|
-
"status",
|
|
162
|
-
"switch",
|
|
163
|
-
"tab",
|
|
164
|
-
"table",
|
|
165
|
-
"tablist",
|
|
166
|
-
"tabpanel",
|
|
167
|
-
"term",
|
|
168
|
-
"textbox",
|
|
169
|
-
"timer",
|
|
170
|
-
"toolbar",
|
|
171
|
-
"tooltip",
|
|
172
|
-
"tree",
|
|
173
|
-
"treegrid",
|
|
174
|
-
"treeitem",
|
|
175
|
-
]
|
|
176
|
-
| Var[
|
|
177
|
-
Literal[
|
|
178
|
-
"alert",
|
|
179
|
-
"alertdialog",
|
|
180
|
-
"application",
|
|
181
|
-
"article",
|
|
182
|
-
"banner",
|
|
183
|
-
"button",
|
|
184
|
-
"cell",
|
|
185
|
-
"checkbox",
|
|
186
|
-
"columnheader",
|
|
187
|
-
"combobox",
|
|
188
|
-
"complementary",
|
|
189
|
-
"contentinfo",
|
|
190
|
-
"definition",
|
|
191
|
-
"dialog",
|
|
192
|
-
"directory",
|
|
193
|
-
"document",
|
|
194
|
-
"feed",
|
|
195
|
-
"figure",
|
|
196
|
-
"form",
|
|
197
|
-
"grid",
|
|
198
|
-
"gridcell",
|
|
199
|
-
"group",
|
|
200
|
-
"heading",
|
|
201
|
-
"img",
|
|
202
|
-
"link",
|
|
203
|
-
"list",
|
|
204
|
-
"listbox",
|
|
205
|
-
"listitem",
|
|
206
|
-
"log",
|
|
207
|
-
"main",
|
|
208
|
-
"marquee",
|
|
209
|
-
"math",
|
|
210
|
-
"menu",
|
|
211
|
-
"menubar",
|
|
212
|
-
"menuitem",
|
|
213
|
-
"menuitemcheckbox",
|
|
214
|
-
"menuitemradio",
|
|
215
|
-
"navigation",
|
|
216
|
-
"none",
|
|
217
|
-
"note",
|
|
218
|
-
"option",
|
|
219
|
-
"presentation",
|
|
220
|
-
"progressbar",
|
|
221
|
-
"radio",
|
|
222
|
-
"radiogroup",
|
|
223
|
-
"region",
|
|
224
|
-
"row",
|
|
225
|
-
"rowgroup",
|
|
226
|
-
"rowheader",
|
|
227
|
-
"scrollbar",
|
|
228
|
-
"search",
|
|
229
|
-
"searchbox",
|
|
230
|
-
"separator",
|
|
231
|
-
"slider",
|
|
232
|
-
"spinbutton",
|
|
233
|
-
"status",
|
|
234
|
-
"switch",
|
|
235
|
-
"tab",
|
|
236
|
-
"table",
|
|
237
|
-
"tablist",
|
|
238
|
-
"tabpanel",
|
|
239
|
-
"term",
|
|
240
|
-
"textbox",
|
|
241
|
-
"timer",
|
|
242
|
-
"toolbar",
|
|
243
|
-
"tooltip",
|
|
244
|
-
"tree",
|
|
245
|
-
"treegrid",
|
|
246
|
-
"treeitem",
|
|
247
|
-
]
|
|
248
|
-
]
|
|
249
|
-
| None = None,
|
|
250
|
-
slot: Var[str] | str | None = None,
|
|
251
|
-
spell_check: Var[bool] | bool | None = None,
|
|
252
|
-
tab_index: Var[int] | int | None = None,
|
|
253
|
-
title: Var[str] | str | None = None,
|
|
254
|
-
style: Sequence[Mapping[str, Any]]
|
|
255
|
-
| Mapping[str, Any]
|
|
256
|
-
| Var[Mapping[str, Any]]
|
|
257
|
-
| Breakpoints
|
|
258
|
-
| None = None,
|
|
259
|
-
key: Any | None = None,
|
|
260
|
-
id: Any | None = None,
|
|
261
|
-
ref: Var | None = None,
|
|
262
|
-
class_name: Any | None = None,
|
|
263
|
-
autofocus: bool | None = None,
|
|
264
|
-
custom_attrs: dict[str, Var | Any] | None = None,
|
|
265
|
-
on_blur: EventType[()] | None = None,
|
|
266
|
-
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
267
|
-
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
268
|
-
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
269
|
-
on_focus: EventType[()] | None = None,
|
|
270
|
-
on_mount: EventType[()] | None = None,
|
|
271
|
-
on_mouse_down: EventType[()] | None = None,
|
|
272
|
-
on_mouse_enter: EventType[()] | None = None,
|
|
273
|
-
on_mouse_leave: EventType[()] | None = None,
|
|
274
|
-
on_mouse_move: EventType[()] | None = None,
|
|
275
|
-
on_mouse_out: EventType[()] | None = None,
|
|
276
|
-
on_mouse_over: EventType[()] | None = None,
|
|
277
|
-
on_mouse_up: EventType[()] | None = None,
|
|
278
|
-
on_scroll: EventType[()] | None = None,
|
|
279
|
-
on_scroll_end: EventType[()] | None = None,
|
|
280
|
-
on_unmount: EventType[()] | None = None,
|
|
281
|
-
**props,
|
|
282
|
-
) -> Meta:
|
|
283
|
-
"""Create the component.
|
|
284
|
-
|
|
285
|
-
Args:
|
|
286
|
-
*children: The children of the component.
|
|
287
|
-
property: The type of metadata value.
|
|
288
|
-
char_set: Specifies the character encoding for the HTML document
|
|
289
|
-
content: Defines the content of the metadata
|
|
290
|
-
http_equiv: Provides an HTTP header for the information/value of the content attribute
|
|
291
|
-
name: Specifies a name for the metadata
|
|
292
|
-
access_key: Provides a hint for generating a keyboard shortcut for the current element.
|
|
293
|
-
auto_capitalize: Controls whether and how text input is automatically capitalized as it is entered/edited by the user.
|
|
294
|
-
content_editable: Indicates whether the element's content is editable.
|
|
295
|
-
context_menu: Defines the ID of a <menu> element which will serve as the element's context menu.
|
|
296
|
-
dir: Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left)
|
|
297
|
-
draggable: Defines whether the element can be dragged.
|
|
298
|
-
enter_key_hint: Hints what media types the media element is able to play.
|
|
299
|
-
hidden: Defines whether the element is hidden.
|
|
300
|
-
input_mode: Defines the type of the element.
|
|
301
|
-
item_prop: Defines the name of the element for metadata purposes.
|
|
302
|
-
lang: Defines the language used in the element.
|
|
303
|
-
role: Defines the role of the element.
|
|
304
|
-
slot: Assigns a slot in a shadow DOM shadow tree to an element.
|
|
305
|
-
spell_check: Defines whether the element may be checked for spelling errors.
|
|
306
|
-
tab_index: Defines the position of the current element in the tabbing order.
|
|
307
|
-
title: Defines a tooltip for the element.
|
|
308
|
-
style: The style of the component.
|
|
309
|
-
key: A unique key for the component.
|
|
310
|
-
id: The id for the component.
|
|
311
|
-
ref: The Var to pass as the ref to the component.
|
|
312
|
-
class_name: The class name for the component.
|
|
313
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
314
|
-
custom_attrs: custom attribute
|
|
315
|
-
**props: The props of the component.
|
|
316
|
-
|
|
317
|
-
Returns:
|
|
318
|
-
The component.
|
|
319
|
-
"""
|
|
320
|
-
|
|
321
67
|
class Description(elements.Meta):
|
|
322
68
|
@classmethod
|
|
323
69
|
def create(
|
|
@@ -327,6 +73,7 @@ class Description(elements.Meta):
|
|
|
327
73
|
char_set: Var[str] | str | None = None,
|
|
328
74
|
content: Var[str] | str | None = None,
|
|
329
75
|
http_equiv: Var[str] | str | None = None,
|
|
76
|
+
property: Var[str] | str | None = None,
|
|
330
77
|
access_key: Var[str] | str | None = None,
|
|
331
78
|
auto_capitalize: Literal[
|
|
332
79
|
"characters", "none", "off", "on", "sentences", "words"
|
|
@@ -542,6 +289,7 @@ class Description(elements.Meta):
|
|
|
542
289
|
char_set: Specifies the character encoding for the HTML document
|
|
543
290
|
content: Defines the content of the metadata
|
|
544
291
|
http_equiv: Provides an HTTP header for the information/value of the content attribute
|
|
292
|
+
property: The type of metadata value.
|
|
545
293
|
access_key: Provides a hint for generating a keyboard shortcut for the current element.
|
|
546
294
|
auto_capitalize: Controls whether and how text input is automatically capitalized as it is entered/edited by the user.
|
|
547
295
|
content_editable: Indicates whether the element's content is editable.
|
|
@@ -792,7 +540,7 @@ class Image(elements.Meta):
|
|
|
792
540
|
|
|
793
541
|
Args:
|
|
794
542
|
*children: The children of the component.
|
|
795
|
-
property: The type of
|
|
543
|
+
property: The type of metadata value.
|
|
796
544
|
char_set: Specifies the character encoding for the HTML document
|
|
797
545
|
content: Defines the content of the metadata
|
|
798
546
|
http_equiv: Provides an HTTP header for the information/value of the content attribute
|
|
@@ -39,6 +39,7 @@ from .upload import (
|
|
|
39
39
|
selected_files,
|
|
40
40
|
upload,
|
|
41
41
|
)
|
|
42
|
+
from .window_events import WindowEventListener, window_event_listener
|
|
42
43
|
|
|
43
44
|
__all__ = [
|
|
44
45
|
"Clipboard",
|
|
@@ -52,6 +53,7 @@ __all__ = [
|
|
|
52
53
|
"Helmet",
|
|
53
54
|
"Html",
|
|
54
55
|
"Match",
|
|
56
|
+
"WindowEventListener",
|
|
55
57
|
"auto_scroll",
|
|
56
58
|
"breakpoints",
|
|
57
59
|
"cancel_upload",
|
|
@@ -79,4 +81,5 @@ __all__ = [
|
|
|
79
81
|
"tablet_and_desktop",
|
|
80
82
|
"tablet_only",
|
|
81
83
|
"upload",
|
|
84
|
+
"window_event_listener",
|
|
82
85
|
]
|