reflex 0.7.14a5__tar.gz → 0.8.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of reflex might be problematic. Click here for more details.
- {reflex-0.7.14a5 → reflex-0.8.0}/PKG-INFO +15 -8
- {reflex-0.7.14a5 → reflex-0.8.0}/README.md +11 -4
- {reflex-0.7.14a5 → reflex-0.8.0}/pyproject.toml +7 -6
- reflex-0.8.0/reflex/.templates/jinja/app/rxconfig.py.jinja2 +9 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/package.json.jinja2 +1 -1
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +21 -11
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +1 -1
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -1
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +4 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +1 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/utils/context.js.jinja2 +25 -8
- reflex-0.8.0/reflex/.templates/web/app/entry.client.js +8 -0
- reflex-0.8.0/reflex/.templates/web/app/routes.js +10 -0
- reflex-0.8.0/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +35 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/web/postcss.config.js +1 -1
- reflex-0.8.0/reflex/.templates/web/react-router.config.js +6 -0
- reflex-0.8.0/reflex/.templates/web/styles/__reflex_style_reset.css +399 -0
- reflex-0.8.0/reflex/.templates/web/utils/client_side_routing.js +45 -0
- reflex-0.8.0/reflex/.templates/web/utils/react-theme.js +92 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/web/utils/state.js +251 -100
- reflex-0.8.0/reflex/.templates/web/vite-plugin-safari-cachebust.js +160 -0
- reflex-0.8.0/reflex/.templates/web/vite.config.js +39 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/__init__.py +1 -6
- reflex-0.8.0/reflex/__init__.pyi +351 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/app.py +103 -152
- reflex-0.8.0/reflex/base.py +47 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/compiler/compiler.py +70 -19
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/compiler/templates.py +3 -3
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/compiler/utils.py +91 -33
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/__init__.py +0 -2
- reflex-0.8.0/reflex/components/__init__.pyi +39 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/__init__.py +1 -5
- reflex-0.8.0/reflex/components/base/__init__.pyi +35 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/app_wrap.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/body.pyi +7 -7
- reflex-0.8.0/reflex/components/base/document.py +39 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/document.pyi +88 -38
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/error_boundary.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/fragment.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/link.pyi +12 -12
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/meta.py +4 -15
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/meta.pyi +31 -31
- reflex-0.8.0/reflex/components/base/script.py +78 -0
- reflex-0.8.0/reflex/components/base/script.pyi +304 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/strict_mode.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/component.py +146 -217
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/__init__.py +1 -0
- reflex-0.8.0/reflex/components/core/__init__.pyi +82 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/auto_scroll.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/banner.pyi +33 -33
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/client_side_routing.py +7 -6
- reflex-0.8.0/reflex/components/core/client_side_routing.pyi +70 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/clipboard.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/debounce.py +1 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/debounce.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/foreach.py +5 -4
- reflex-0.8.0/reflex/components/core/helmet.py +14 -0
- reflex-0.7.14a5/reflex/components/next/base.pyi → reflex-0.8.0/reflex/components/core/helmet.pyi +12 -10
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/html.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/match.py +3 -3
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/sticky.pyi +21 -20
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/upload.py +4 -2
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/upload.pyi +26 -25
- reflex-0.8.0/reflex/components/datadisplay/__init__.pyi +18 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/datadisplay/code.py +14 -79
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/datadisplay/code.pyi +11 -13
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/datadisplay/dataeditor.pyi +38 -15
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/datadisplay/shiki_code_block.py +5 -3
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/datadisplay/shiki_code_block.pyi +16 -15
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/dynamic.py +5 -5
- reflex-0.8.0/reflex/components/el/__init__.pyi +511 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/element.pyi +7 -7
- reflex-0.8.0/reflex/components/el/elements/__init__.pyi +647 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/base.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/forms.pyi +146 -101
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/inline.pyi +142 -142
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/media.pyi +131 -130
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/metadata.pyi +32 -32
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/other.pyi +37 -37
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/scripts.pyi +17 -17
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/sectioning.pyi +77 -77
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/tables.pyi +52 -52
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/typography.pyi +77 -77
- reflex-0.8.0/reflex/components/field.py +175 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/gridjs/datatable.py +2 -2
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/gridjs/datatable.pyi +14 -14
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/lucide/icon.py +6 -2
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/lucide/icon.pyi +19 -17
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/markdown/markdown.py +5 -3
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/markdown/markdown.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/moment/moment.py +1 -1
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/moment/moment.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/plotly/plotly.py +12 -6
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/plotly/plotly.pyi +50 -49
- reflex-0.8.0/reflex/components/props.py +426 -0
- reflex-0.8.0/reflex/components/radix/__init__.pyi +128 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/__init__.pyi +6 -4
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/accordion.py +8 -1
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/accordion.pyi +37 -37
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/base.pyi +12 -12
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/drawer.pyi +56 -55
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/form.pyi +63 -53
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/progress.pyi +26 -25
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/slider.pyi +27 -27
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/__init__.pyi +5 -6
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/base.py +3 -3
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/base.pyi +42 -42
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/color_mode.py +5 -6
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/color_mode.pyi +17 -17
- reflex-0.8.0/reflex/components/radix/themes/components/__init__.pyi +80 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/alert_dialog.pyi +37 -37
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/aspect_ratio.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/avatar.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/badge.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/button.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/callout.pyi +26 -25
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/card.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/checkbox.pyi +16 -15
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/checkbox_cards.pyi +12 -12
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/checkbox_group.pyi +12 -12
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/context_menu.pyi +67 -67
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/data_list.pyi +22 -22
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/dialog.pyi +36 -35
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/dropdown_menu.pyi +42 -42
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/hover_card.pyi +21 -20
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/icon_button.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/inset.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/popover.pyi +22 -22
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/progress.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/radio.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/radio_cards.pyi +12 -12
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/radio_group.pyi +21 -20
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/scroll_area.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/segmented_control.pyi +12 -12
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/select.pyi +46 -45
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/separator.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/skeleton.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/slider.pyi +17 -9
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/spinner.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/switch.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/table.pyi +37 -37
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/tabs.pyi +26 -25
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/text_area.pyi +15 -9
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/text_field.pyi +32 -19
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/tooltip.pyi +7 -7
- reflex-0.8.0/reflex/components/radix/themes/layout/__init__.pyi +32 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/base.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/box.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/center.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/container.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/flex.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/grid.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/list.pyi +26 -25
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/section.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/spacer.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/stack.pyi +17 -17
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/__init__.pyi +7 -5
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/blockquote.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/code.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/heading.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/link.py +46 -11
- reflex-0.8.0/reflex/components/radix/themes/typography/link.pyi +711 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/text.pyi +36 -35
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/react_player/audio.pyi +10 -8
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/react_player/react_player.pyi +7 -7
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/react_player/video.pyi +10 -8
- reflex-0.8.0/reflex/components/recharts/__init__.pyi +216 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/recharts/cartesian.py +10 -8
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/recharts/cartesian.pyi +90 -94
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/recharts/charts.py +4 -2
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/recharts/charts.pyi +49 -49
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/recharts/general.pyi +31 -31
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/recharts/polar.py +8 -4
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/recharts/polar.pyi +23 -23
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/recharts/recharts.py +2 -2
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/recharts/recharts.pyi +12 -12
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/sonner/toast.py +3 -3
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/sonner/toast.pyi +9 -9
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/config.py +10 -113
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/constants/__init__.py +2 -2
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/constants/base.py +28 -11
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/constants/compiler.py +12 -3
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/constants/event.py +1 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/constants/installer.py +26 -20
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/constants/route.py +27 -8
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/constants/state.py +2 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/custom_components/custom_components.py +0 -14
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/environment.py +77 -5
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/event.py +178 -81
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/experimental/__init__.py +0 -30
- reflex-0.8.0/reflex/istate/__init__.py +70 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/istate/manager.py +1 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/istate/proxy.py +5 -3
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/page.py +0 -27
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/plugins/__init__.py +3 -2
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/plugins/base.py +5 -1
- reflex-0.8.0/reflex/plugins/shared_tailwind.py +215 -0
- reflex-0.8.0/reflex/plugins/sitemap.py +206 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/plugins/tailwind_v3.py +15 -108
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/plugins/tailwind_v4.py +18 -110
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/reflex.py +1 -0
- reflex-0.8.0/reflex/route.py +222 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/state.py +171 -155
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/testing.py +86 -16
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/build.py +38 -82
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/exec.py +83 -175
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/export.py +2 -2
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/format.py +1 -5
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/imports.py +5 -16
- reflex-0.8.0/reflex/utils/misc.py +92 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/prerequisites.py +66 -68
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/processes.py +24 -47
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/pyi_generator.py +44 -49
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/serializers.py +14 -1
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/telemetry.py +0 -15
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/types.py +197 -62
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/vars/__init__.py +2 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/vars/base.py +367 -134
- reflex-0.7.14a5/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -6
- reflex-0.7.14a5/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -60
- reflex-0.7.14a5/reflex/.templates/web/next.config.js +0 -7
- reflex-0.7.14a5/reflex/.templates/web/utils/client_side_routing.js +0 -43
- reflex-0.7.14a5/reflex/__init__.pyi +0 -216
- reflex-0.7.14a5/reflex/base.py +0 -133
- reflex-0.7.14a5/reflex/components/__init__.pyi +0 -23
- reflex-0.7.14a5/reflex/components/base/__init__.pyi +0 -26
- reflex-0.7.14a5/reflex/components/base/document.py +0 -35
- reflex-0.7.14a5/reflex/components/base/head.py +0 -20
- reflex-0.7.14a5/reflex/components/base/head.pyi +0 -116
- reflex-0.7.14a5/reflex/components/base/script.py +0 -76
- reflex-0.7.14a5/reflex/components/base/script.pyi +0 -90
- reflex-0.7.14a5/reflex/components/core/__init__.pyi +0 -42
- reflex-0.7.14a5/reflex/components/core/client_side_routing.pyi +0 -121
- reflex-0.7.14a5/reflex/components/datadisplay/__init__.pyi +0 -12
- reflex-0.7.14a5/reflex/components/el/__init__.pyi +0 -251
- reflex-0.7.14a5/reflex/components/el/elements/__init__.pyi +0 -388
- reflex-0.7.14a5/reflex/components/next/__init__.py +0 -10
- reflex-0.7.14a5/reflex/components/next/base.py +0 -7
- reflex-0.7.14a5/reflex/components/next/image.py +0 -117
- reflex-0.7.14a5/reflex/components/next/image.pyi +0 -94
- reflex-0.7.14a5/reflex/components/next/link.py +0 -20
- reflex-0.7.14a5/reflex/components/next/link.pyi +0 -67
- reflex-0.7.14a5/reflex/components/next/video.py +0 -38
- reflex-0.7.14a5/reflex/components/next/video.pyi +0 -68
- reflex-0.7.14a5/reflex/components/props.py +0 -77
- reflex-0.7.14a5/reflex/components/radix/__init__.pyi +0 -70
- reflex-0.7.14a5/reflex/components/radix/themes/components/__init__.pyi +0 -43
- reflex-0.7.14a5/reflex/components/radix/themes/layout/__init__.pyi +0 -19
- reflex-0.7.14a5/reflex/components/radix/themes/typography/link.pyi +0 -408
- reflex-0.7.14a5/reflex/components/recharts/__init__.pyi +0 -108
- reflex-0.7.14a5/reflex/components/suneditor/__init__.py +0 -5
- reflex-0.7.14a5/reflex/components/suneditor/editor.py +0 -269
- reflex-0.7.14a5/reflex/components/suneditor/editor.pyi +0 -199
- reflex-0.7.14a5/reflex/experimental/layout.py +0 -254
- reflex-0.7.14a5/reflex/istate/__init__.py +0 -1
- reflex-0.7.14a5/reflex/route.py +0 -140
- reflex-0.7.14a5/reflex/utils/misc.py +0 -25
- {reflex-0.7.14a5 → reflex-0.8.0}/.gitignore +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/LICENSE +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/pages/macros.js.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/web/components/shiki/code.js +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/__main__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/admin.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/assets.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/compiler/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/bare.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/body.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/error_boundary.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/fragment.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/link.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/base/strict_mode.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/auto_scroll.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/banner.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/clipboard.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/colors.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/cond.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/html.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/responsive.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/core/sticky.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/element.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/forms.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/literals.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/react_player/video.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/recharts/general.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/tags/tag.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/constants/colors.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/constants/config.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/constants/custom_components.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/constants/utils.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/experimental/client_state.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/experimental/hooks.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/istate/data.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/istate/dynamic.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/istate/storage.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/istate/wrappers.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/middleware/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/middleware/middleware.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/model.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/py.typed +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/style.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/__init__.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/codespaces.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/compat.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/console.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/decorator.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/exceptions.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/net.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/path_ops.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/redir.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/utils/registry.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/vars/datetime.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/vars/dep_tracking.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/vars/function.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/vars/number.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/vars/object.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/reflex/vars/sequence.py +0 -0
- {reflex-0.7.14a5 → reflex-0.8.0}/scripts/hatch_build.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
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
|
|
@@ -19,14 +19,14 @@ Classifier: Programming Language :: Python :: 3.12
|
|
|
19
19
|
Classifier: Programming Language :: Python :: 3.13
|
|
20
20
|
Requires-Python: <4.0,>=3.10
|
|
21
21
|
Requires-Dist: alembic<2.0,>=1.15.2
|
|
22
|
-
Requires-Dist: click>=8
|
|
22
|
+
Requires-Dist: click>=8.2
|
|
23
23
|
Requires-Dist: fastapi>=0.115.0
|
|
24
|
-
Requires-Dist: granian[reload]>=2.
|
|
24
|
+
Requires-Dist: granian[reload]>=2.4.0
|
|
25
25
|
Requires-Dist: httpx<1.0,>=0.28.0
|
|
26
26
|
Requires-Dist: jinja2<4.0,>=3.1.2
|
|
27
27
|
Requires-Dist: packaging<26,>=24.2
|
|
28
28
|
Requires-Dist: platformdirs<5.0,>=4.3.7
|
|
29
|
-
Requires-Dist: psutil<8.0,>=7.0.0
|
|
29
|
+
Requires-Dist: psutil<8.0,>=7.0.0; sys_platform == 'win32'
|
|
30
30
|
Requires-Dist: pydantic<3.0,>=1.10.21
|
|
31
31
|
Requires-Dist: python-multipart<1.0,>=0.0.20
|
|
32
32
|
Requires-Dist: python-socketio<6.0,>=5.12.0
|
|
@@ -39,8 +39,7 @@ Requires-Dist: wrapt<2.0,>=1.17.0
|
|
|
39
39
|
Description-Content-Type: text/markdown
|
|
40
40
|
|
|
41
41
|
<div align="center">
|
|
42
|
-
<img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/
|
|
43
|
-
<img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_light.svg#gh-dark-mode-only" alt="Reflex Logo" width="300px">
|
|
42
|
+
<img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex.svg" alt="Reflex Logo" width="300px">
|
|
44
43
|
|
|
45
44
|
<hr>
|
|
46
45
|
|
|
@@ -60,7 +59,12 @@ Description-Content-Type: text/markdown
|
|
|
60
59
|
|
|
61
60
|
---
|
|
62
61
|
|
|
63
|
-
|
|
62
|
+
> [!NOTE]
|
|
63
|
+
> 🚀 **Try [Reflex Build](https://build.reflex.dev/)** – our AI-powered app builder that generates full-stack Reflex applications in seconds.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
# Introduction
|
|
64
68
|
|
|
65
69
|
Reflex is a library to build full-stack web apps in pure Python.
|
|
66
70
|
|
|
@@ -268,7 +272,10 @@ You can create a multi-page app by adding more pages.
|
|
|
268
272
|
|
|
269
273
|
Reflex launched in December 2022 with the name Pynecone.
|
|
270
274
|
|
|
271
|
-
|
|
275
|
+
🚀 Introducing [Reflex Build](https://build.reflex.dev/) — Our AI-Powered Builder
|
|
276
|
+
Reflex Build uses AI to generate complete full-stack Python applications. It helps you quickly create, customize, and refine your Reflex apps — from frontend components to backend logic — so you can focus on your ideas instead of boilerplate code. Whether you’re prototyping or scaling, Reflex Build accelerates development by intelligently scaffolding and optimizing your app’s entire stack.
|
|
277
|
+
|
|
278
|
+
Alongside this, [Reflex Cloud](https://cloud.reflex.dev) launched in 2025 to offer the best hosting experience for your Reflex apps. We’re continuously improving the platform with new features and capabilities.
|
|
272
279
|
|
|
273
280
|
Reflex has new releases and features coming every week! Make sure to :star: star and :eyes: watch this repository to stay up to date.
|
|
274
281
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/
|
|
3
|
-
<img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex_light.svg#gh-dark-mode-only" alt="Reflex Logo" width="300px">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/reflex-dev/reflex/main/docs/images/reflex.svg" alt="Reflex Logo" width="300px">
|
|
4
3
|
|
|
5
4
|
<hr>
|
|
6
5
|
|
|
@@ -20,7 +19,12 @@
|
|
|
20
19
|
|
|
21
20
|
---
|
|
22
21
|
|
|
23
|
-
|
|
22
|
+
> [!NOTE]
|
|
23
|
+
> 🚀 **Try [Reflex Build](https://build.reflex.dev/)** – our AI-powered app builder that generates full-stack Reflex applications in seconds.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
# Introduction
|
|
24
28
|
|
|
25
29
|
Reflex is a library to build full-stack web apps in pure Python.
|
|
26
30
|
|
|
@@ -228,7 +232,10 @@ You can create a multi-page app by adding more pages.
|
|
|
228
232
|
|
|
229
233
|
Reflex launched in December 2022 with the name Pynecone.
|
|
230
234
|
|
|
231
|
-
|
|
235
|
+
🚀 Introducing [Reflex Build](https://build.reflex.dev/) — Our AI-Powered Builder
|
|
236
|
+
Reflex Build uses AI to generate complete full-stack Python applications. It helps you quickly create, customize, and refine your Reflex apps — from frontend components to backend logic — so you can focus on your ideas instead of boilerplate code. Whether you’re prototyping or scaling, Reflex Build accelerates development by intelligently scaffolding and optimizing your app’s entire stack.
|
|
237
|
+
|
|
238
|
+
Alongside this, [Reflex Cloud](https://cloud.reflex.dev) launched in 2025 to offer the best hosting experience for your Reflex apps. We’re continuously improving the platform with new features and capabilities.
|
|
232
239
|
|
|
233
240
|
Reflex has new releases and features coming every week! Make sure to :star: star and :eyes: watch this repository to stay up to date.
|
|
234
241
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "reflex"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.8.0"
|
|
4
4
|
description = "Web apps in pure Python."
|
|
5
5
|
license.text = "Apache-2.0"
|
|
6
6
|
authors = [
|
|
@@ -22,12 +22,12 @@ requires-python = ">=3.10,<4.0"
|
|
|
22
22
|
dependencies = [
|
|
23
23
|
"alembic >=1.15.2,<2.0",
|
|
24
24
|
"fastapi >=0.115.0",
|
|
25
|
-
"granian[reload] >=2.
|
|
25
|
+
"granian[reload] >=2.4.0",
|
|
26
26
|
"httpx >=0.28.0,<1.0",
|
|
27
27
|
"jinja2 >=3.1.2,<4.0",
|
|
28
28
|
"packaging >=24.2,<26",
|
|
29
29
|
"platformdirs >=4.3.7,<5.0",
|
|
30
|
-
"psutil >=7.0.0,<8.0",
|
|
30
|
+
"psutil >=7.0.0,<8.0; sys_platform == 'win32'",
|
|
31
31
|
"pydantic >=1.10.21,<3.0",
|
|
32
32
|
"python-socketio >=5.12.0,<6.0",
|
|
33
33
|
"python-multipart >=0.0.20,<1.0",
|
|
@@ -35,7 +35,7 @@ dependencies = [
|
|
|
35
35
|
"reflex-hosting-cli >=0.1.47",
|
|
36
36
|
"rich >=13,<15",
|
|
37
37
|
"sqlmodel >=0.0.24,<0.1",
|
|
38
|
-
"click >=8",
|
|
38
|
+
"click >=8.2",
|
|
39
39
|
"typing_extensions >=4.13.0",
|
|
40
40
|
"wrapt >=1.17.0,<2.0",
|
|
41
41
|
]
|
|
@@ -165,6 +165,7 @@ dev = [
|
|
|
165
165
|
"playwright >=1.51",
|
|
166
166
|
"plotly >=6.0",
|
|
167
167
|
"pre-commit ==4.2.0",
|
|
168
|
+
"psutil >=7.0.0",
|
|
168
169
|
"psycopg[binary] >=3.2",
|
|
169
170
|
"pyright >=1.1.400",
|
|
170
171
|
"pytest >=8.3",
|
|
@@ -228,7 +229,7 @@ fail_fast = true
|
|
|
228
229
|
|
|
229
230
|
[[tool.pre-commit.repos]]
|
|
230
231
|
repo = "https://github.com/astral-sh/ruff-pre-commit"
|
|
231
|
-
rev = "v0.11.
|
|
232
|
+
rev = "v0.11.13"
|
|
232
233
|
hooks = [
|
|
233
234
|
{ id = "ruff-format", args = [
|
|
234
235
|
"reflex",
|
|
@@ -260,7 +261,7 @@ hooks = [
|
|
|
260
261
|
|
|
261
262
|
[[tool.pre-commit.repos]]
|
|
262
263
|
repo = "https://github.com/RobertCraigie/pyright-python"
|
|
263
|
-
rev = "v1.1.
|
|
264
|
+
rev = "v1.1.402"
|
|
264
265
|
hooks = [{ id = "pyright", args = ["reflex", "tests"], language = "system" }]
|
|
265
266
|
|
|
266
267
|
[[tool.pre-commit.repos]]
|
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
{% from "web/pages/macros.js.jinja2" import renderHooks %}
|
|
3
3
|
|
|
4
4
|
{% block early_imports %}
|
|
5
|
-
import '$/styles/__reflex_global_styles.css'
|
|
5
|
+
import reflexGlobalStyles from '$/styles/__reflex_global_styles.css?url';
|
|
6
6
|
{% endblock %}
|
|
7
7
|
|
|
8
8
|
{% block declaration %}
|
|
9
|
-
import { EventLoopProvider, StateProvider, defaultColorMode } from "$/utils/context
|
|
10
|
-
import { ThemeProvider } from '
|
|
9
|
+
import { EventLoopProvider, StateProvider, defaultColorMode } from "$/utils/context";
|
|
10
|
+
import { ThemeProvider } from '$/utils/react-theme';
|
|
11
|
+
import { Layout as AppLayout } from './_document';
|
|
12
|
+
import { Outlet } from 'react-router';
|
|
11
13
|
{% for library_alias, library_path in window_libraries %}
|
|
12
14
|
import * as {{library_alias}} from "{{library_path}}";
|
|
13
15
|
{% endfor %}
|
|
@@ -18,6 +20,10 @@ import * as {{library_alias}} from "{{library_path}}";
|
|
|
18
20
|
{% endblock %}
|
|
19
21
|
|
|
20
22
|
{% block export %}
|
|
23
|
+
export const links = () => [
|
|
24
|
+
{ rel: 'stylesheet', href: reflexGlobalStyles, type: 'text/css' }
|
|
25
|
+
];
|
|
26
|
+
|
|
21
27
|
function AppWrap({children}) {
|
|
22
28
|
{{ renderHooks(hooks) }}
|
|
23
29
|
|
|
@@ -26,8 +32,9 @@ function AppWrap({children}) {
|
|
|
26
32
|
)
|
|
27
33
|
}
|
|
28
34
|
|
|
29
|
-
|
|
30
|
-
|
|
35
|
+
|
|
36
|
+
export function Layout({children}) {
|
|
37
|
+
useEffect(() => {
|
|
31
38
|
// Make contexts and state objects available globally for dynamic eval'd components
|
|
32
39
|
let windowImports = {
|
|
33
40
|
{% for library_alias, library_path in window_libraries %}
|
|
@@ -36,17 +43,20 @@ export default function MyApp({ Component, pageProps }) {
|
|
|
36
43
|
};
|
|
37
44
|
window["__reflex"] = windowImports;
|
|
38
45
|
}, []);
|
|
39
|
-
|
|
40
|
-
|
|
46
|
+
|
|
47
|
+
return jsx(AppLayout, {},
|
|
48
|
+
jsx(ThemeProvider, {defaultTheme: defaultColorMode, attribute: "class"},
|
|
41
49
|
jsx(StateProvider, {},
|
|
42
|
-
jsx(EventLoopProvider, {},
|
|
43
|
-
jsx(AppWrap, {},
|
|
44
|
-
jsx(Component, pageProps)
|
|
45
|
-
)
|
|
50
|
+
jsx(EventLoopProvider, {},
|
|
51
|
+
jsx(AppWrap, {}, children)
|
|
46
52
|
)
|
|
47
53
|
)
|
|
48
54
|
)
|
|
49
55
|
);
|
|
50
56
|
}
|
|
51
57
|
|
|
58
|
+
export default function App() {
|
|
59
|
+
return jsx(Outlet, {});
|
|
60
|
+
}
|
|
61
|
+
|
|
52
62
|
{% endblock %}
|
{reflex-0.7.14a5 → reflex-0.8.0}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2
RENAMED
|
@@ -2,7 +2,11 @@
|
|
|
2
2
|
{% from 'web/pages/macros.js.jinja2' import renderHooksWithMemo %}
|
|
3
3
|
{% set all_hooks = component._get_all_hooks() %}
|
|
4
4
|
|
|
5
|
+
{% if export %}
|
|
5
6
|
export function {{tag_name}} () {
|
|
7
|
+
{% else %}
|
|
8
|
+
function {{tag_name}} () {
|
|
9
|
+
{% endif %}
|
|
6
10
|
{{ renderHooksWithMemo(all_hooks, memo_trigger_hooks) }}
|
|
7
11
|
|
|
8
12
|
return (
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { createContext, useContext, useMemo, useReducer, useState, createElement } from "react"
|
|
2
|
-
import { applyDelta, Event, hydrateClientStorage, useEventLoop, refs } from "$/utils/state
|
|
1
|
+
import { createContext, useContext, useMemo, useReducer, useState, createElement, useEffect } from "react"
|
|
2
|
+
import { applyDelta, Event, hydrateClientStorage, useEventLoop, refs } from "$/utils/state"
|
|
3
|
+
import { jsx } from "@emotion/react";
|
|
3
4
|
|
|
4
5
|
{% if initial_state %}
|
|
5
6
|
export const initialState = {{ initial_state|json_dumps }}
|
|
@@ -68,8 +69,6 @@ export const initialEvents = () => []
|
|
|
68
69
|
|
|
69
70
|
export const isDevMode = {{ is_dev_mode|json_dumps }}
|
|
70
71
|
|
|
71
|
-
export const lastCompiledTimeStamp = {{ last_compiled_time|json_dumps }}
|
|
72
|
-
|
|
73
72
|
export function UploadFilesProvider({ children }) {
|
|
74
73
|
const [filesById, setFilesById] = useState({})
|
|
75
74
|
refs["__clear_selected_files"] = (id) => setFilesById(filesById => {
|
|
@@ -77,7 +76,21 @@ export function UploadFilesProvider({ children }) {
|
|
|
77
76
|
delete newFilesById[id]
|
|
78
77
|
return newFilesById
|
|
79
78
|
})
|
|
80
|
-
return createElement(
|
|
79
|
+
return createElement(
|
|
80
|
+
UploadFilesContext.Provider,
|
|
81
|
+
{ value: [filesById, setFilesById] },
|
|
82
|
+
children
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export function ClientSide(component) {
|
|
87
|
+
return ({ children, ...props }) => {
|
|
88
|
+
const [Component, setComponent] = useState(null);
|
|
89
|
+
useEffect(() => {
|
|
90
|
+
setComponent(component);
|
|
91
|
+
}, []);
|
|
92
|
+
return Component ? jsx(Component, props, children) : null;
|
|
93
|
+
};
|
|
81
94
|
}
|
|
82
95
|
|
|
83
96
|
export function EventLoopProvider({ children }) {
|
|
@@ -87,7 +100,11 @@ export function EventLoopProvider({ children }) {
|
|
|
87
100
|
initialEvents,
|
|
88
101
|
clientStorage,
|
|
89
102
|
)
|
|
90
|
-
return createElement(
|
|
103
|
+
return createElement(
|
|
104
|
+
EventLoopContext.Provider,
|
|
105
|
+
{ value: [addEvents, connectErrors] },
|
|
106
|
+
children
|
|
107
|
+
);
|
|
91
108
|
}
|
|
92
109
|
|
|
93
110
|
export function StateProvider({ children }) {
|
|
@@ -106,7 +123,7 @@ export function StateProvider({ children }) {
|
|
|
106
123
|
{% for state_name in initial_state %}
|
|
107
124
|
createElement(StateContexts.{{state_name|var_name}},{value: {{state_name|var_name}}},
|
|
108
125
|
{% endfor %}
|
|
109
|
-
createElement(DispatchContext
|
|
110
|
-
{% for state_name in initial_state
|
|
126
|
+
createElement(DispatchContext, {value: dispatchers}, children)
|
|
127
|
+
{% for state_name in initial_state %}){% endfor %}
|
|
111
128
|
)
|
|
112
129
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { startTransition } from "react";
|
|
2
|
+
import { hydrateRoot } from "react-dom/client";
|
|
3
|
+
import { HydratedRouter } from "react-router/dom";
|
|
4
|
+
import { createElement } from "react";
|
|
5
|
+
|
|
6
|
+
startTransition(() => {
|
|
7
|
+
hydrateRoot(document, createElement(HydratedRouter));
|
|
8
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { route } from "@react-router/dev/routes";
|
|
2
|
+
import { flatRoutes } from "@react-router/fs-routes";
|
|
3
|
+
|
|
4
|
+
export default [
|
|
5
|
+
route("404", "routes/[404]._index.jsx", { id: "404" }),
|
|
6
|
+
...(await flatRoutes({
|
|
7
|
+
ignoredRouteFiles: ["routes/\\[404\\]._index.jsx"],
|
|
8
|
+
})),
|
|
9
|
+
route("*", "routes/[404]._index.jsx"),
|
|
10
|
+
];
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useTheme } from "$/utils/react-theme";
|
|
2
|
+
import { createElement } from "react";
|
|
3
|
+
import { ColorModeContext, defaultColorMode } from "$/utils/context";
|
|
4
|
+
|
|
5
|
+
export default function RadixThemesColorModeProvider({ children }) {
|
|
6
|
+
const { theme, resolvedTheme, setTheme } = useTheme();
|
|
7
|
+
|
|
8
|
+
const toggleColorMode = () => {
|
|
9
|
+
setTheme(resolvedTheme === "light" ? "dark" : "light");
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const setColorMode = (mode) => {
|
|
13
|
+
const allowedModes = ["light", "dark", "system"];
|
|
14
|
+
if (!allowedModes.includes(mode)) {
|
|
15
|
+
console.error(
|
|
16
|
+
`Invalid color mode "${mode}". Defaulting to "${defaultColorMode}".`,
|
|
17
|
+
);
|
|
18
|
+
mode = defaultColorMode;
|
|
19
|
+
}
|
|
20
|
+
setTheme(mode);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
return createElement(
|
|
24
|
+
ColorModeContext.Provider,
|
|
25
|
+
{
|
|
26
|
+
value: {
|
|
27
|
+
rawColorMode: theme,
|
|
28
|
+
resolvedColorMode: resolvedTheme,
|
|
29
|
+
toggleColorMode,
|
|
30
|
+
setColorMode,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
children,
|
|
34
|
+
);
|
|
35
|
+
}
|