reflex 0.8.4a2__tar.gz → 0.8.5__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.4a2 → reflex-0.8.5}/PKG-INFO +2 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/pyproject.toml +3 -3
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/__init__.py +2 -9
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/__init__.pyi +4 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/app.py +16 -10
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/compiler/compiler.py +10 -3
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/compiler/utils.py +6 -12
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/app_wrap.pyi +0 -1
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/body.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/document.pyi +0 -12
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/error_boundary.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/fragment.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/link.pyi +0 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/meta.pyi +0 -6
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/script.py +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/script.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/strict_mode.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/component.py +2 -30
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/auto_scroll.py +14 -13
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/auto_scroll.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/banner.pyi +0 -10
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/client_side_routing.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/clipboard.py +1 -3
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/clipboard.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/cond.py +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/debounce.pyi +0 -1
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/helmet.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/html.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/match.py +1 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/sticky.pyi +0 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/upload.pyi +0 -10
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/window_events.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/datadisplay/code.py +6 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/datadisplay/code.pyi +0 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/datadisplay/dataeditor.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/datadisplay/shiki_code_block.pyi +0 -6
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/element.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/base.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/forms.py +5 -21
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/forms.pyi +0 -38
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/inline.pyi +0 -56
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/media.pyi +0 -52
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/metadata.pyi +0 -12
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/other.pyi +0 -14
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/scripts.pyi +0 -6
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/sectioning.pyi +0 -30
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/tables.pyi +0 -20
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/typography.pyi +0 -32
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/gridjs/datatable.pyi +0 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/lucide/icon.py +12 -1
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/lucide/icon.pyi +12 -7
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/markdown/markdown.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/moment/moment.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/plotly/plotly.py +25 -17
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/plotly/plotly.pyi +0 -18
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/accordion.pyi +0 -14
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/base.pyi +0 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/drawer.pyi +0 -22
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/form.pyi +0 -20
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/progress.pyi +0 -10
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/slider.pyi +0 -10
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/base.py +2 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/base.pyi +0 -15
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/color_mode.pyi +0 -5
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -11
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/avatar.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/badge.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/button.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/callout.pyi +0 -10
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/card.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/checkbox.pyi +0 -6
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/context_menu.pyi +0 -26
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/data_list.pyi +0 -8
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/dialog.pyi +0 -12
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -14
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/hover_card.pyi +0 -7
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/icon_button.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/inset.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/popover.pyi +0 -6
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/progress.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/radio.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/radio_cards.pyi +0 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/radio_group.pyi +0 -8
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/scroll_area.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/segmented_control.pyi +0 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/select.pyi +0 -18
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/separator.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/skeleton.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/slider.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/spinner.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/switch.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/table.pyi +0 -14
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/tabs.pyi +0 -10
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/text_area.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/text_field.pyi +0 -6
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/tooltip.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/base.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/box.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/center.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/container.pyi +0 -1
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/flex.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/grid.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/list.pyi +0 -10
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/section.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/spacer.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/stack.pyi +0 -6
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/blockquote.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/code.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/heading.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/link.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/text.pyi +0 -14
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/react_player/audio.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/react_player/react_player.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/react_player/video.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/react_router/dom.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/cartesian.pyi +0 -38
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/charts.pyi +0 -24
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/general.pyi +0 -12
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/polar.pyi +0 -12
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/recharts.pyi +0 -4
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/sonner/toast.pyi +0 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/tags/cond_tag.py +4 -3
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/tags/iter_tag.py +1 -1
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/tags/match_tag.py +3 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/tags/tag.py +39 -40
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/constants/base.py +4 -58
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/constants/compiler.py +0 -8
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/constants/installer.py +5 -5
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/environment.py +0 -10
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/event.py +77 -15
- reflex-0.8.5/reflex/page.py +125 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/reflex.py +2 -5
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/net.py +7 -2
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/prerequisites.py +8 -71
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/processes.py +6 -6
- reflex-0.8.4a2/reflex/components/el/constants/__init__.py +0 -5
- reflex-0.8.4a2/reflex/components/el/constants/html.py +0 -343
- reflex-0.8.4a2/reflex/components/el/constants/react.py +0 -501
- reflex-0.8.4a2/reflex/components/el/constants/reflex.py +0 -51
- reflex-0.8.4a2/reflex/page.py +0 -67
- {reflex-0.8.4a2 → reflex-0.8.5}/.gitignore +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/LICENSE +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/README.md +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/app/entry.client.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/app/routes.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/components/shiki/code.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/react-router.config.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/styles/__reflex_style_reset.css +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/utils/react-theme.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/utils/state.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/vite-plugin-safari-cachebust.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/.templates/web/vite.config.js +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/__main__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/admin.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/assets.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/base.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/compiler/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/compiler/templates.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/bare.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/body.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/document.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/error_boundary.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/fragment.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/link.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/meta.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/base/strict_mode.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/banner.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/client_side_routing.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/colors.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/debounce.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/foreach.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/helmet.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/html.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/responsive.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/sticky.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/upload.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/core/window_events.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/datadisplay/shiki_code_block.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/dynamic.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/element.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/field.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/literals.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/markdown/markdown.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/moment/moment.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/props.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/react_player/video.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/react_router/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/react_router/dom.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/cartesian.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/general.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/sonner/toast.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/config.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/constants/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/constants/colors.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/constants/config.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/constants/custom_components.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/constants/event.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/constants/route.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/constants/state.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/constants/utils.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/custom_components/custom_components.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/experimental/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/experimental/client_state.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/experimental/hooks.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/istate/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/istate/data.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/istate/dynamic.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/istate/manager.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/istate/proxy.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/istate/storage.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/istate/wrappers.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/middleware/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/middleware/middleware.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/model.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/plugins/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/plugins/base.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/plugins/shared_tailwind.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/plugins/sitemap.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/plugins/tailwind_v3.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/plugins/tailwind_v4.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/py.typed +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/route.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/state.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/style.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/testing.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/build.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/codespaces.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/compat.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/console.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/decorator.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/exceptions.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/exec.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/export.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/format.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/imports.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/misc.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/path_ops.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/redir.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/registry.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/serializers.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/telemetry.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/utils/types.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/vars/__init__.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/vars/base.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/vars/datetime.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/vars/dep_tracking.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/vars/function.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/vars/number.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/vars/object.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/reflex/vars/sequence.py +0 -0
- {reflex-0.8.4a2 → reflex-0.8.5}/scripts/hatch_build.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.5
|
|
4
4
|
Summary: Web apps in pure Python.
|
|
5
5
|
Project-URL: homepage, https://reflex.dev
|
|
6
6
|
Project-URL: repository, https://github.com/reflex-dev/reflex
|
|
@@ -30,7 +30,7 @@ Requires-Dist: pydantic<3.0,>=1.10.21
|
|
|
30
30
|
Requires-Dist: python-multipart<1.0,>=0.0.20
|
|
31
31
|
Requires-Dist: python-socketio<6.0,>=5.12.0
|
|
32
32
|
Requires-Dist: redis<7.0,>=5.2.1
|
|
33
|
-
Requires-Dist: reflex-hosting-cli>=0.1.
|
|
33
|
+
Requires-Dist: reflex-hosting-cli>=0.1.53
|
|
34
34
|
Requires-Dist: rich<15,>=13
|
|
35
35
|
Requires-Dist: sqlmodel<0.1,>=0.0.24
|
|
36
36
|
Requires-Dist: starlette>=0.47.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "reflex"
|
|
3
|
-
version = "0.8.
|
|
3
|
+
version = "0.8.5"
|
|
4
4
|
description = "Web apps in pure Python."
|
|
5
5
|
license.text = "Apache-2.0"
|
|
6
6
|
authors = [
|
|
@@ -32,7 +32,7 @@ dependencies = [
|
|
|
32
32
|
"python-multipart >=0.0.20,<1.0",
|
|
33
33
|
"python-socketio >=5.12.0,<6.0",
|
|
34
34
|
"redis >=5.2.1,<7.0",
|
|
35
|
-
"reflex-hosting-cli >=0.1.
|
|
35
|
+
"reflex-hosting-cli >=0.1.53",
|
|
36
36
|
"rich >=13,<15",
|
|
37
37
|
"sqlmodel >=0.0.24,<0.1",
|
|
38
38
|
"starlette >=0.47.0",
|
|
@@ -227,7 +227,7 @@ fail_fast = true
|
|
|
227
227
|
|
|
228
228
|
[[tool.pre-commit.repos]]
|
|
229
229
|
repo = "https://github.com/astral-sh/ruff-pre-commit"
|
|
230
|
-
rev = "v0.12.
|
|
230
|
+
rev = "v0.12.5"
|
|
231
231
|
hooks = [
|
|
232
232
|
{ id = "ruff-format", args = [
|
|
233
233
|
"reflex",
|
|
@@ -84,20 +84,11 @@ In the example above, you will be able to do `rx.list`
|
|
|
84
84
|
|
|
85
85
|
from __future__ import annotations
|
|
86
86
|
|
|
87
|
-
from types import ModuleType
|
|
88
|
-
from typing import Any
|
|
89
|
-
|
|
90
87
|
from reflex.utils import (
|
|
91
88
|
compat, # for side-effects
|
|
92
89
|
lazy_loader,
|
|
93
90
|
)
|
|
94
91
|
|
|
95
|
-
from .event import event as event
|
|
96
|
-
|
|
97
|
-
# import this here explicitly to avoid returning the page module since page attr has the
|
|
98
|
-
# same name as page module(page.py)
|
|
99
|
-
from .page import page as page
|
|
100
|
-
|
|
101
92
|
# Remove the `compat` name from the namespace, it was imported for side-effects only.
|
|
102
93
|
del compat
|
|
103
94
|
|
|
@@ -301,6 +292,7 @@ _MAPPING: dict = {
|
|
|
301
292
|
"constants": ["Env"],
|
|
302
293
|
"constants.colors": ["Color"],
|
|
303
294
|
"event": [
|
|
295
|
+
"event",
|
|
304
296
|
"EventChain",
|
|
305
297
|
"EventHandler",
|
|
306
298
|
"call_script",
|
|
@@ -331,6 +323,7 @@ _MAPPING: dict = {
|
|
|
331
323
|
],
|
|
332
324
|
"middleware": ["middleware", "Middleware"],
|
|
333
325
|
"model": ["asession", "session", "Model"],
|
|
326
|
+
"page": ["page"],
|
|
334
327
|
"state": [
|
|
335
328
|
"var",
|
|
336
329
|
"ComponentState",
|
|
@@ -130,6 +130,7 @@ from .event import (
|
|
|
130
130
|
clear_session_storage,
|
|
131
131
|
console_log,
|
|
132
132
|
download,
|
|
133
|
+
event,
|
|
133
134
|
noop,
|
|
134
135
|
prevent_default,
|
|
135
136
|
redirect,
|
|
@@ -145,13 +146,12 @@ from .event import (
|
|
|
145
146
|
upload_files,
|
|
146
147
|
window_alert,
|
|
147
148
|
)
|
|
148
|
-
from .event import event as event
|
|
149
149
|
from .experimental import _x
|
|
150
150
|
from .istate.storage import Cookie, LocalStorage, SessionStorage
|
|
151
151
|
from .istate.wrappers import get_state
|
|
152
152
|
from .middleware import Middleware, middleware
|
|
153
153
|
from .model import Model, asession, session
|
|
154
|
-
from .page import page
|
|
154
|
+
from .page import page
|
|
155
155
|
from .state import ComponentState, State, dynamic, var
|
|
156
156
|
from .style import Style, toggle_color_mode
|
|
157
157
|
from .utils.imports import ImportDict, ImportVar
|
|
@@ -256,6 +256,7 @@ __all__ = [
|
|
|
256
256
|
"dropdown_menu",
|
|
257
257
|
"dynamic",
|
|
258
258
|
"el",
|
|
259
|
+
"event",
|
|
259
260
|
"field",
|
|
260
261
|
"flex",
|
|
261
262
|
"foreach",
|
|
@@ -290,6 +291,7 @@ __all__ = [
|
|
|
290
291
|
"moment",
|
|
291
292
|
"noop",
|
|
292
293
|
"ordered_list",
|
|
294
|
+
"page",
|
|
293
295
|
"plotly",
|
|
294
296
|
"plugins",
|
|
295
297
|
"popover",
|
|
@@ -1186,8 +1186,8 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
1186
1186
|
progress.start()
|
|
1187
1187
|
task = progress.add_task(
|
|
1188
1188
|
f"[{get_compilation_time()}] Compiling:",
|
|
1189
|
-
total=len(self.
|
|
1190
|
-
+ (len(self._unevaluated_pages) *
|
|
1189
|
+
total=len(self._unevaluated_pages)
|
|
1190
|
+
+ ((len(self._unevaluated_pages) + len(self._pages)) * 3)
|
|
1191
1191
|
+ fixed_pages_within_executor
|
|
1192
1192
|
+ adhoc_steps_without_executor
|
|
1193
1193
|
+ plugin_count,
|
|
@@ -1272,14 +1272,17 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
1272
1272
|
all_imports.update(custom_components_imports)
|
|
1273
1273
|
progress.advance(task)
|
|
1274
1274
|
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1275
|
+
with console.timing("Collect all imports and app wraps"):
|
|
1276
|
+
# This has to happen before compiling stateful components as that
|
|
1277
|
+
# prevents recursive functions from reaching all components.
|
|
1278
|
+
for component in self._pages.values():
|
|
1279
|
+
# Add component._get_all_imports() to all_imports.
|
|
1280
|
+
all_imports.update(component._get_all_imports())
|
|
1280
1281
|
|
|
1281
|
-
|
|
1282
|
-
|
|
1282
|
+
# Add the app wrappers from this component.
|
|
1283
|
+
app_wrappers.update(component._get_all_app_wrap_components())
|
|
1284
|
+
|
|
1285
|
+
progress.advance(task)
|
|
1283
1286
|
|
|
1284
1287
|
# Perform auto-memoization of stateful components.
|
|
1285
1288
|
with console.timing("Auto-memoize StatefulComponents"):
|
|
@@ -1287,7 +1290,10 @@ class App(MiddlewareMixin, LifespanMixin):
|
|
|
1287
1290
|
stateful_components_path,
|
|
1288
1291
|
stateful_components_code,
|
|
1289
1292
|
page_components,
|
|
1290
|
-
) = compiler.compile_stateful_components(
|
|
1293
|
+
) = compiler.compile_stateful_components(
|
|
1294
|
+
self._pages.values(),
|
|
1295
|
+
progress_function=lambda task=task: progress.advance(task),
|
|
1296
|
+
)
|
|
1291
1297
|
progress.advance(task)
|
|
1292
1298
|
|
|
1293
1299
|
# Catch "static" apps (that do not define a rx.State subclass) which are trying to access rx.State.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import sys
|
|
6
|
-
from collections.abc import Iterable, Sequence
|
|
6
|
+
from collections.abc import Callable, Iterable, Sequence
|
|
7
7
|
from inspect import getmodule
|
|
8
8
|
from pathlib import Path
|
|
9
9
|
from typing import TYPE_CHECKING
|
|
@@ -588,6 +588,7 @@ def compile_components(
|
|
|
588
588
|
|
|
589
589
|
def compile_stateful_components(
|
|
590
590
|
pages: Iterable[Component],
|
|
591
|
+
progress_function: Callable[[], None],
|
|
591
592
|
) -> tuple[str, str, list[BaseComponent]]:
|
|
592
593
|
"""Separately compile components that depend on State vars.
|
|
593
594
|
|
|
@@ -597,14 +598,20 @@ def compile_stateful_components(
|
|
|
597
598
|
|
|
598
599
|
Args:
|
|
599
600
|
pages: The pages to extract stateful components from.
|
|
601
|
+
progress_function: A function to call to indicate progress, called once per page.
|
|
600
602
|
|
|
601
603
|
Returns:
|
|
602
604
|
The path and code of the compiled stateful components.
|
|
603
605
|
"""
|
|
604
606
|
output_path = utils.get_stateful_components_path()
|
|
605
607
|
|
|
606
|
-
|
|
607
|
-
|
|
608
|
+
page_components = []
|
|
609
|
+
for page in pages:
|
|
610
|
+
# Compile the stateful components
|
|
611
|
+
page_component = StatefulComponent.compile_from(page) or page
|
|
612
|
+
progress_function()
|
|
613
|
+
page_components.append(page_component)
|
|
614
|
+
|
|
608
615
|
code = _compile_stateful_components(page_components)
|
|
609
616
|
return output_path, code, page_components
|
|
610
617
|
|
|
@@ -23,8 +23,7 @@ from reflex.constants.state import FIELD_MARKER
|
|
|
23
23
|
from reflex.istate.storage import Cookie, LocalStorage, SessionStorage
|
|
24
24
|
from reflex.state import BaseState, _resolve_delta
|
|
25
25
|
from reflex.style import Style
|
|
26
|
-
from reflex.utils import
|
|
27
|
-
from reflex.utils.exec import is_in_app_harness
|
|
26
|
+
from reflex.utils import format, imports, path_ops
|
|
28
27
|
from reflex.utils.imports import ImportVar, ParsedImportDict
|
|
29
28
|
from reflex.utils.prerequisites import get_web_dir
|
|
30
29
|
from reflex.vars.base import Field, Var
|
|
@@ -201,16 +200,11 @@ def compile_state(state: type[BaseState]) -> dict:
|
|
|
201
200
|
except RuntimeError:
|
|
202
201
|
pass
|
|
203
202
|
else:
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
).result()
|
|
210
|
-
console.warn(
|
|
211
|
-
f"Had to get initial state in a thread 🤮 {resolved_initial_state}",
|
|
212
|
-
)
|
|
213
|
-
return _sorted_keys(resolved_initial_state)
|
|
203
|
+
with concurrent.futures.ThreadPoolExecutor() as pool:
|
|
204
|
+
resolved_initial_state = pool.submit(
|
|
205
|
+
asyncio.run, _resolve_delta(initial_state)
|
|
206
|
+
).result()
|
|
207
|
+
return _sorted_keys(resolved_initial_state)
|
|
214
208
|
|
|
215
209
|
# Normally the compile runs before any event loop starts, we asyncio.run is available for calling.
|
|
216
210
|
return _sorted_keys(asyncio.run(_resolve_delta(initial_state)))
|
|
@@ -25,7 +25,6 @@ class AppWrap(Fragment):
|
|
|
25
25
|
id: Any | None = None,
|
|
26
26
|
ref: Var | None = None,
|
|
27
27
|
class_name: Any | None = None,
|
|
28
|
-
autofocus: bool | None = None,
|
|
29
28
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
30
29
|
on_blur: EventType[()] | None = None,
|
|
31
30
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -203,7 +203,6 @@ class Body(elements.Body):
|
|
|
203
203
|
id: Any | None = None,
|
|
204
204
|
ref: Var | None = None,
|
|
205
205
|
class_name: Any | None = None,
|
|
206
|
-
autofocus: bool | None = None,
|
|
207
206
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
208
207
|
on_blur: EventType[()] | None = None,
|
|
209
208
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -248,7 +247,6 @@ class Body(elements.Body):
|
|
|
248
247
|
id: The id for the component.
|
|
249
248
|
ref: The Var to pass as the ref to the component.
|
|
250
249
|
class_name: The class name for the component.
|
|
251
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
252
250
|
custom_attrs: custom attribute
|
|
253
251
|
**props: The props of the component.
|
|
254
252
|
|
|
@@ -25,7 +25,6 @@ class ReactRouterLib(Component):
|
|
|
25
25
|
id: Any | None = None,
|
|
26
26
|
ref: Var | None = None,
|
|
27
27
|
class_name: Any | None = None,
|
|
28
|
-
autofocus: bool | None = None,
|
|
29
28
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
30
29
|
on_blur: EventType[()] | None = None,
|
|
31
30
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -54,7 +53,6 @@ class ReactRouterLib(Component):
|
|
|
54
53
|
id: The id for the component.
|
|
55
54
|
ref: The Var to pass as the ref to the component.
|
|
56
55
|
class_name: The class name for the component.
|
|
57
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
58
56
|
custom_attrs: custom attribute
|
|
59
57
|
**props: The props of the component.
|
|
60
58
|
|
|
@@ -76,7 +74,6 @@ class Meta(ReactRouterLib):
|
|
|
76
74
|
id: Any | None = None,
|
|
77
75
|
ref: Var | None = None,
|
|
78
76
|
class_name: Any | None = None,
|
|
79
|
-
autofocus: bool | None = None,
|
|
80
77
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
81
78
|
on_blur: EventType[()] | None = None,
|
|
82
79
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -105,7 +102,6 @@ class Meta(ReactRouterLib):
|
|
|
105
102
|
id: The id for the component.
|
|
106
103
|
ref: The Var to pass as the ref to the component.
|
|
107
104
|
class_name: The class name for the component.
|
|
108
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
109
105
|
custom_attrs: custom attribute
|
|
110
106
|
**props: The props of the component.
|
|
111
107
|
|
|
@@ -127,7 +123,6 @@ class Links(ReactRouterLib):
|
|
|
127
123
|
id: Any | None = None,
|
|
128
124
|
ref: Var | None = None,
|
|
129
125
|
class_name: Any | None = None,
|
|
130
|
-
autofocus: bool | None = None,
|
|
131
126
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
132
127
|
on_blur: EventType[()] | None = None,
|
|
133
128
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -156,7 +151,6 @@ class Links(ReactRouterLib):
|
|
|
156
151
|
id: The id for the component.
|
|
157
152
|
ref: The Var to pass as the ref to the component.
|
|
158
153
|
class_name: The class name for the component.
|
|
159
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
160
154
|
custom_attrs: custom attribute
|
|
161
155
|
**props: The props of the component.
|
|
162
156
|
|
|
@@ -178,7 +172,6 @@ class ScrollRestoration(ReactRouterLib):
|
|
|
178
172
|
id: Any | None = None,
|
|
179
173
|
ref: Var | None = None,
|
|
180
174
|
class_name: Any | None = None,
|
|
181
|
-
autofocus: bool | None = None,
|
|
182
175
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
183
176
|
on_blur: EventType[()] | None = None,
|
|
184
177
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -207,7 +200,6 @@ class ScrollRestoration(ReactRouterLib):
|
|
|
207
200
|
id: The id for the component.
|
|
208
201
|
ref: The Var to pass as the ref to the component.
|
|
209
202
|
class_name: The class name for the component.
|
|
210
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
211
203
|
custom_attrs: custom attribute
|
|
212
204
|
**props: The props of the component.
|
|
213
205
|
|
|
@@ -229,7 +221,6 @@ class Outlet(ReactRouterLib):
|
|
|
229
221
|
id: Any | None = None,
|
|
230
222
|
ref: Var | None = None,
|
|
231
223
|
class_name: Any | None = None,
|
|
232
|
-
autofocus: bool | None = None,
|
|
233
224
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
234
225
|
on_blur: EventType[()] | None = None,
|
|
235
226
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -258,7 +249,6 @@ class Outlet(ReactRouterLib):
|
|
|
258
249
|
id: The id for the component.
|
|
259
250
|
ref: The Var to pass as the ref to the component.
|
|
260
251
|
class_name: The class name for the component.
|
|
261
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
262
252
|
custom_attrs: custom attribute
|
|
263
253
|
**props: The props of the component.
|
|
264
254
|
|
|
@@ -280,7 +270,6 @@ class Scripts(ReactRouterLib):
|
|
|
280
270
|
id: Any | None = None,
|
|
281
271
|
ref: Var | None = None,
|
|
282
272
|
class_name: Any | None = None,
|
|
283
|
-
autofocus: bool | None = None,
|
|
284
273
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
285
274
|
on_blur: EventType[()] | None = None,
|
|
286
275
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -309,7 +298,6 @@ class Scripts(ReactRouterLib):
|
|
|
309
298
|
id: The id for the component.
|
|
310
299
|
ref: The Var to pass as the ref to the component.
|
|
311
300
|
class_name: The class name for the component.
|
|
312
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
313
301
|
custom_attrs: custom attribute
|
|
314
302
|
**props: The props of the component.
|
|
315
303
|
|
|
@@ -31,7 +31,6 @@ class ErrorBoundary(Component):
|
|
|
31
31
|
id: Any | None = None,
|
|
32
32
|
ref: Var | None = None,
|
|
33
33
|
class_name: Any | None = None,
|
|
34
|
-
autofocus: bool | None = None,
|
|
35
34
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
36
35
|
on_blur: EventType[()] | None = None,
|
|
37
36
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -63,7 +62,6 @@ class ErrorBoundary(Component):
|
|
|
63
62
|
id: The id for the component.
|
|
64
63
|
ref: The Var to pass as the ref to the component.
|
|
65
64
|
class_name: The class name for the component.
|
|
66
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
67
65
|
custom_attrs: custom attribute
|
|
68
66
|
**props: The props of the component.
|
|
69
67
|
|
|
@@ -25,7 +25,6 @@ class Fragment(Component):
|
|
|
25
25
|
id: Any | None = None,
|
|
26
26
|
ref: Var | None = None,
|
|
27
27
|
class_name: Any | None = None,
|
|
28
|
-
autofocus: bool | None = None,
|
|
29
28
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
30
29
|
on_blur: EventType[()] | None = None,
|
|
31
30
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -54,7 +53,6 @@ class Fragment(Component):
|
|
|
54
53
|
id: The id for the component.
|
|
55
54
|
ref: The Var to pass as the ref to the component.
|
|
56
55
|
class_name: The class name for the component.
|
|
57
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
58
56
|
custom_attrs: custom attribute
|
|
59
57
|
**props: The props of the component.
|
|
60
58
|
|
|
@@ -205,7 +205,6 @@ class RawLink(BaseHTML):
|
|
|
205
205
|
id: Any | None = None,
|
|
206
206
|
ref: Var | None = None,
|
|
207
207
|
class_name: Any | None = None,
|
|
208
|
-
autofocus: bool | None = None,
|
|
209
208
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
210
209
|
on_blur: EventType[()] | None = None,
|
|
211
210
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -252,7 +251,6 @@ class RawLink(BaseHTML):
|
|
|
252
251
|
id: The id for the component.
|
|
253
252
|
ref: The Var to pass as the ref to the component.
|
|
254
253
|
class_name: The class name for the component.
|
|
255
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
256
254
|
custom_attrs: custom attribute
|
|
257
255
|
**props: The props of the component.
|
|
258
256
|
|
|
@@ -459,7 +457,6 @@ class ScriptTag(BaseHTML):
|
|
|
459
457
|
id: Any | None = None,
|
|
460
458
|
ref: Var | None = None,
|
|
461
459
|
class_name: Any | None = None,
|
|
462
|
-
autofocus: bool | None = None,
|
|
463
460
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
464
461
|
on_blur: EventType[()] | None = None,
|
|
465
462
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -511,7 +508,6 @@ class ScriptTag(BaseHTML):
|
|
|
511
508
|
id: The id for the component.
|
|
512
509
|
ref: The Var to pass as the ref to the component.
|
|
513
510
|
class_name: The class name for the component.
|
|
514
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
515
511
|
custom_attrs: custom attribute
|
|
516
512
|
**props: The props of the component.
|
|
517
513
|
|
|
@@ -27,7 +27,6 @@ class Title(elements.Title):
|
|
|
27
27
|
id: Any | None = None,
|
|
28
28
|
ref: Var | None = None,
|
|
29
29
|
class_name: Any | None = None,
|
|
30
|
-
autofocus: bool | None = None,
|
|
31
30
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
32
31
|
on_blur: EventType[()] | None = None,
|
|
33
32
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -56,7 +55,6 @@ class Title(elements.Title):
|
|
|
56
55
|
id: The id for the component.
|
|
57
56
|
ref: The Var to pass as the ref to the component.
|
|
58
57
|
class_name: The class name for the component.
|
|
59
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
60
58
|
custom_attrs: custom attribute
|
|
61
59
|
**props: The props of the component.
|
|
62
60
|
|
|
@@ -261,7 +259,6 @@ class Description(elements.Meta):
|
|
|
261
259
|
id: Any | None = None,
|
|
262
260
|
ref: Var | None = None,
|
|
263
261
|
class_name: Any | None = None,
|
|
264
|
-
autofocus: bool | None = None,
|
|
265
262
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
266
263
|
on_blur: EventType[()] | None = None,
|
|
267
264
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -311,7 +308,6 @@ class Description(elements.Meta):
|
|
|
311
308
|
id: The id for the component.
|
|
312
309
|
ref: The Var to pass as the ref to the component.
|
|
313
310
|
class_name: The class name for the component.
|
|
314
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
315
311
|
custom_attrs: custom attribute
|
|
316
312
|
**props: The props of the component.
|
|
317
313
|
|
|
@@ -516,7 +512,6 @@ class Image(elements.Meta):
|
|
|
516
512
|
id: Any | None = None,
|
|
517
513
|
ref: Var | None = None,
|
|
518
514
|
class_name: Any | None = None,
|
|
519
|
-
autofocus: bool | None = None,
|
|
520
515
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
521
516
|
on_blur: EventType[()] | None = None,
|
|
522
517
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -566,7 +561,6 @@ class Image(elements.Meta):
|
|
|
566
561
|
id: The id for the component.
|
|
567
562
|
ref: The Var to pass as the ref to the component.
|
|
568
563
|
class_name: The class name for the component.
|
|
569
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
570
564
|
custom_attrs: custom attribute
|
|
571
565
|
**props: The props of the component.
|
|
572
566
|
|
|
@@ -39,7 +39,6 @@ class Script(elements.Script):
|
|
|
39
39
|
key = props.pop("key", None)
|
|
40
40
|
id = props.pop("id", None)
|
|
41
41
|
class_name = props.pop("class_name", None)
|
|
42
|
-
autofocus = props.pop("autofocus", None)
|
|
43
42
|
custom_attrs = props.pop("custom_attrs", None)
|
|
44
43
|
on_mount = props.pop("on_mount", None)
|
|
45
44
|
on_unmount = props.pop("on_unmount", None)
|
|
@@ -67,7 +66,6 @@ class Script(elements.Script):
|
|
|
67
66
|
key=key,
|
|
68
67
|
id=id,
|
|
69
68
|
class_name=class_name,
|
|
70
|
-
autofocus=autofocus,
|
|
71
69
|
custom_attrs=custom_attrs,
|
|
72
70
|
on_mount=on_mount,
|
|
73
71
|
on_unmount=on_unmount,
|
|
@@ -237,7 +237,6 @@ class Script(elements.Script):
|
|
|
237
237
|
id: Any | None = None,
|
|
238
238
|
ref: Var | None = None,
|
|
239
239
|
class_name: Any | None = None,
|
|
240
|
-
autofocus: bool | None = None,
|
|
241
240
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
242
241
|
on_blur: EventType[()] | None = None,
|
|
243
242
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -290,7 +289,6 @@ class Script(elements.Script):
|
|
|
290
289
|
id: The id for the component.
|
|
291
290
|
ref: The Var to pass as the ref to the component.
|
|
292
291
|
class_name: The class name for the component.
|
|
293
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
294
292
|
custom_attrs: custom attribute
|
|
295
293
|
**props: The properties of the element.
|
|
296
294
|
|
|
@@ -25,7 +25,6 @@ class StrictMode(Component):
|
|
|
25
25
|
id: Any | None = None,
|
|
26
26
|
ref: Var | None = None,
|
|
27
27
|
class_name: Any | None = None,
|
|
28
|
-
autofocus: bool | None = None,
|
|
29
28
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
30
29
|
on_blur: EventType[()] | None = None,
|
|
31
30
|
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
@@ -54,7 +53,6 @@ class StrictMode(Component):
|
|
|
54
53
|
id: The id for the component.
|
|
55
54
|
ref: The Var to pass as the ref to the component.
|
|
56
55
|
class_name: The class name for the component.
|
|
57
|
-
autofocus: Whether the component should take the focus once the page is loaded
|
|
58
56
|
custom_attrs: custom attribute
|
|
59
57
|
**props: The props of the component.
|
|
60
58
|
|
|
@@ -588,9 +588,6 @@ class Component(BaseComponent, ABC):
|
|
|
588
588
|
# Special component props.
|
|
589
589
|
special_props: list[Var] = field(default_factory=list, is_javascript_property=False)
|
|
590
590
|
|
|
591
|
-
# Whether the component should take the focus once the page is loaded
|
|
592
|
-
autofocus: bool = field(default=False, is_javascript_property=False)
|
|
593
|
-
|
|
594
591
|
# components that cannot be children
|
|
595
592
|
_invalid_children: ClassVar[list[str]] = []
|
|
596
593
|
|
|
@@ -964,7 +961,7 @@ class Component(BaseComponent, ABC):
|
|
|
964
961
|
# Create the base tag.
|
|
965
962
|
tag = Tag(
|
|
966
963
|
name=name,
|
|
967
|
-
special_props=self.special_props,
|
|
964
|
+
special_props=self.special_props.copy(),
|
|
968
965
|
)
|
|
969
966
|
|
|
970
967
|
if props is None:
|
|
@@ -1274,9 +1271,7 @@ class Component(BaseComponent, ABC):
|
|
|
1274
1271
|
tag.set(
|
|
1275
1272
|
children=[child.render() for child in self.children],
|
|
1276
1273
|
contents=str(tag.contents),
|
|
1277
|
-
|
|
1278
|
-
),
|
|
1279
|
-
autofocus=self.autofocus,
|
|
1274
|
+
)
|
|
1280
1275
|
)
|
|
1281
1276
|
self._replace_prop_names(rendered_dict)
|
|
1282
1277
|
return rendered_dict
|
|
@@ -1435,7 +1430,6 @@ class Component(BaseComponent, ABC):
|
|
|
1435
1430
|
self.class_name,
|
|
1436
1431
|
self.id,
|
|
1437
1432
|
self.key,
|
|
1438
|
-
self.autofocus,
|
|
1439
1433
|
*self.custom_attrs.values(),
|
|
1440
1434
|
):
|
|
1441
1435
|
if isinstance(comp_prop, Var):
|
|
@@ -1627,15 +1621,6 @@ class Component(BaseComponent, ABC):
|
|
|
1627
1621
|
# Handle hooks for `on_mount` / `on_unmount`.
|
|
1628
1622
|
_imports.setdefault("react", set()).add(ImportVar(tag="useEffect"))
|
|
1629
1623
|
|
|
1630
|
-
if self._get_special_hooks():
|
|
1631
|
-
# Handle additional internal hooks (autofocus, etc).
|
|
1632
|
-
_imports.setdefault("react", set()).update(
|
|
1633
|
-
{
|
|
1634
|
-
ImportVar(tag="useRef"),
|
|
1635
|
-
ImportVar(tag="useEffect"),
|
|
1636
|
-
},
|
|
1637
|
-
)
|
|
1638
|
-
|
|
1639
1624
|
other_imports = []
|
|
1640
1625
|
user_hooks = self._get_hooks()
|
|
1641
1626
|
user_hooks_data = (
|
|
@@ -1781,18 +1766,6 @@ class Component(BaseComponent, ABC):
|
|
|
1781
1766
|
else {}
|
|
1782
1767
|
)
|
|
1783
1768
|
|
|
1784
|
-
def _get_special_hooks(self) -> dict[str, VarData | None]:
|
|
1785
|
-
"""Get the hooks required by special actions referenced in this component.
|
|
1786
|
-
|
|
1787
|
-
Returns:
|
|
1788
|
-
The hooks for special actions.
|
|
1789
|
-
"""
|
|
1790
|
-
return (
|
|
1791
|
-
{Hooks.AUTOFOCUS: VarData(position=Hooks.HookPosition.INTERNAL)}
|
|
1792
|
-
if self.autofocus
|
|
1793
|
-
else {}
|
|
1794
|
-
)
|
|
1795
|
-
|
|
1796
1769
|
def _get_hooks_internal(self) -> dict[str, VarData | None]:
|
|
1797
1770
|
"""Get the React hooks for this component managed by the framework.
|
|
1798
1771
|
|
|
@@ -1810,7 +1783,6 @@ class Component(BaseComponent, ABC):
|
|
|
1810
1783
|
},
|
|
1811
1784
|
**self._get_vars_hooks(),
|
|
1812
1785
|
**self._get_events_hooks(),
|
|
1813
|
-
**self._get_special_hooks(),
|
|
1814
1786
|
}
|
|
1815
1787
|
|
|
1816
1788
|
def _get_added_hooks(self) -> dict[str, VarData | None]:
|