reflex 0.5.9a1__tar.gz → 0.5.10__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.5.9a1 → reflex-0.5.10}/PKG-INFO +2 -1
- {reflex-0.5.9a1 → reflex-0.5.10}/pyproject.toml +2 -1
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/__init__.py +21 -2
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/__init__.pyi +0 -1
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/app.py +1 -1
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/__init__.py +0 -1
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/__init__.pyi +0 -1
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/markdown/markdown.py +1 -1
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/cartesian.py +3 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/cartesian.pyi +2 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/sonner/toast.py +27 -1
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/sonner/toast.pyi +5 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/constants/base.py +2 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/constants/installer.py +2 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/hooks.py +1 -1
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/reflex.py +0 -15
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/state.py +22 -22
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/testing.py +8 -3
- reflex-0.5.10/reflex/utils/net.py +43 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/prerequisites.py +27 -126
- reflex-0.5.10/reflex/utils/registry.py +48 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/types.py +1 -1
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/vars.py +4 -2
- reflex-0.5.9a1/reflex/components/chakra/__init__.py +0 -204
- reflex-0.5.9a1/reflex/components/chakra/base.py +0 -210
- reflex-0.5.9a1/reflex/components/chakra/base.pyi +0 -319
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/__init__.py +0 -10
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/badge.py +0 -16
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/badge.pyi +0 -96
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/code.py +0 -11
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/code.pyi +0 -87
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/divider.py +0 -20
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/divider.pyi +0 -100
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/keyboard_key.py +0 -9
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/keyboard_key.pyi +0 -87
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/list.py +0 -60
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/list.pyi +0 -339
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/stat.py +0 -80
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/stat.pyi +0 -477
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/table.py +0 -305
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/table.pyi +0 -737
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/tag.py +0 -85
- reflex-0.5.9a1/reflex/components/chakra/datadisplay/tag.pyi +0 -433
- reflex-0.5.9a1/reflex/components/chakra/disclosure/__init__.py +0 -14
- reflex-0.5.9a1/reflex/components/chakra/disclosure/accordion.py +0 -110
- reflex-0.5.9a1/reflex/components/chakra/disclosure/accordion.pyi +0 -411
- reflex-0.5.9a1/reflex/components/chakra/disclosure/tabs.py +0 -117
- reflex-0.5.9a1/reflex/components/chakra/disclosure/tabs.pyi +0 -496
- reflex-0.5.9a1/reflex/components/chakra/disclosure/transition.py +0 -73
- reflex-0.5.9a1/reflex/components/chakra/disclosure/transition.pyi +0 -509
- reflex-0.5.9a1/reflex/components/chakra/disclosure/visuallyhidden.py +0 -9
- reflex-0.5.9a1/reflex/components/chakra/disclosure/visuallyhidden.pyi +0 -87
- reflex-0.5.9a1/reflex/components/chakra/feedback/__init__.py +0 -7
- reflex-0.5.9a1/reflex/components/chakra/feedback/alert.py +0 -68
- reflex-0.5.9a1/reflex/components/chakra/feedback/alert.pyi +0 -335
- reflex-0.5.9a1/reflex/components/chakra/feedback/circularprogress.py +0 -68
- reflex-0.5.9a1/reflex/components/chakra/feedback/circularprogress.pyi +0 -185
- reflex-0.5.9a1/reflex/components/chakra/feedback/progress.py +0 -33
- reflex-0.5.9a1/reflex/components/chakra/feedback/progress.pyi +0 -101
- reflex-0.5.9a1/reflex/components/chakra/feedback/skeleton.py +0 -70
- reflex-0.5.9a1/reflex/components/chakra/feedback/skeleton.pyi +0 -271
- reflex-0.5.9a1/reflex/components/chakra/feedback/spinner.py +0 -25
- reflex-0.5.9a1/reflex/components/chakra/feedback/spinner.pyi +0 -102
- reflex-0.5.9a1/reflex/components/chakra/forms/__init__.py +0 -49
- reflex-0.5.9a1/reflex/components/chakra/forms/button.py +0 -83
- reflex-0.5.9a1/reflex/components/chakra/forms/button.pyi +0 -262
- reflex-0.5.9a1/reflex/components/chakra/forms/checkbox.py +0 -77
- reflex-0.5.9a1/reflex/components/chakra/forms/checkbox.pyi +0 -247
- reflex-0.5.9a1/reflex/components/chakra/forms/colormodeswitch.py +0 -104
- reflex-0.5.9a1/reflex/components/chakra/forms/colormodeswitch.pyi +0 -473
- reflex-0.5.9a1/reflex/components/chakra/forms/date_picker.py +0 -11
- reflex-0.5.9a1/reflex/components/chakra/forms/date_picker.pyi +0 -129
- reflex-0.5.9a1/reflex/components/chakra/forms/date_time_picker.py +0 -11
- reflex-0.5.9a1/reflex/components/chakra/forms/date_time_picker.pyi +0 -129
- reflex-0.5.9a1/reflex/components/chakra/forms/editable.py +0 -67
- reflex-0.5.9a1/reflex/components/chakra/forms/editable.pyi +0 -343
- reflex-0.5.9a1/reflex/components/chakra/forms/email.py +0 -11
- reflex-0.5.9a1/reflex/components/chakra/forms/email.pyi +0 -129
- reflex-0.5.9a1/reflex/components/chakra/forms/form.py +0 -103
- reflex-0.5.9a1/reflex/components/chakra/forms/form.pyi +0 -484
- reflex-0.5.9a1/reflex/components/chakra/forms/iconbutton.py +0 -38
- reflex-0.5.9a1/reflex/components/chakra/forms/iconbutton.pyi +0 -108
- reflex-0.5.9a1/reflex/components/chakra/forms/input.py +0 -130
- reflex-0.5.9a1/reflex/components/chakra/forms/input.pyi +0 -566
- reflex-0.5.9a1/reflex/components/chakra/forms/multiselect.py +0 -355
- reflex-0.5.9a1/reflex/components/chakra/forms/numberinput.py +0 -128
- reflex-0.5.9a1/reflex/components/chakra/forms/numberinput.pyi +0 -442
- reflex-0.5.9a1/reflex/components/chakra/forms/password.py +0 -11
- reflex-0.5.9a1/reflex/components/chakra/forms/password.pyi +0 -129
- reflex-0.5.9a1/reflex/components/chakra/forms/pininput.py +0 -201
- reflex-0.5.9a1/reflex/components/chakra/forms/pininput.pyi +0 -215
- reflex-0.5.9a1/reflex/components/chakra/forms/radio.py +0 -101
- reflex-0.5.9a1/reflex/components/chakra/forms/radio.pyi +0 -197
- reflex-0.5.9a1/reflex/components/chakra/forms/rangeslider.py +0 -149
- reflex-0.5.9a1/reflex/components/chakra/forms/rangeslider.pyi +0 -354
- reflex-0.5.9a1/reflex/components/chakra/forms/select.py +0 -103
- reflex-0.5.9a1/reflex/components/chakra/forms/select.pyi +0 -204
- reflex-0.5.9a1/reflex/components/chakra/forms/slider.py +0 -130
- reflex-0.5.9a1/reflex/components/chakra/forms/slider.pyi +0 -449
- reflex-0.5.9a1/reflex/components/chakra/forms/switch.py +0 -49
- reflex-0.5.9a1/reflex/components/chakra/forms/switch.pyi +0 -159
- reflex-0.5.9a1/reflex/components/chakra/forms/textarea.py +0 -79
- reflex-0.5.9a1/reflex/components/chakra/forms/textarea.pyi +0 -123
- reflex-0.5.9a1/reflex/components/chakra/forms/time_picker.py +0 -11
- reflex-0.5.9a1/reflex/components/chakra/forms/time_picker.pyi +0 -129
- reflex-0.5.9a1/reflex/components/chakra/layout/__init__.py +0 -14
- reflex-0.5.9a1/reflex/components/chakra/layout/aspect_ratio.py +0 -13
- reflex-0.5.9a1/reflex/components/chakra/layout/aspect_ratio.pyi +0 -89
- reflex-0.5.9a1/reflex/components/chakra/layout/box.py +0 -31
- reflex-0.5.9a1/reflex/components/chakra/layout/box.pyi +0 -93
- reflex-0.5.9a1/reflex/components/chakra/layout/card.py +0 -100
- reflex-0.5.9a1/reflex/components/chakra/layout/card.pyi +0 -379
- reflex-0.5.9a1/reflex/components/chakra/layout/center.py +0 -21
- reflex-0.5.9a1/reflex/components/chakra/layout/center.pyi +0 -239
- reflex-0.5.9a1/reflex/components/chakra/layout/container.py +0 -13
- reflex-0.5.9a1/reflex/components/chakra/layout/container.pyi +0 -89
- reflex-0.5.9a1/reflex/components/chakra/layout/flex.py +0 -33
- reflex-0.5.9a1/reflex/components/chakra/layout/flex.pyi +0 -101
- reflex-0.5.9a1/reflex/components/chakra/layout/grid.py +0 -125
- reflex-0.5.9a1/reflex/components/chakra/layout/grid.pyi +0 -293
- reflex-0.5.9a1/reflex/components/chakra/layout/spacer.py +0 -9
- reflex-0.5.9a1/reflex/components/chakra/layout/spacer.pyi +0 -87
- reflex-0.5.9a1/reflex/components/chakra/layout/stack.py +0 -48
- reflex-0.5.9a1/reflex/components/chakra/layout/stack.pyi +0 -305
- reflex-0.5.9a1/reflex/components/chakra/layout/wrap.py +0 -57
- reflex-0.5.9a1/reflex/components/chakra/layout/wrap.pyi +0 -179
- reflex-0.5.9a1/reflex/components/chakra/media/__init__.py +0 -7
- reflex-0.5.9a1/reflex/components/chakra/media/avatar.py +0 -58
- reflex-0.5.9a1/reflex/components/chakra/media/avatar.pyi +0 -267
- reflex-0.5.9a1/reflex/components/chakra/media/icon.py +0 -111
- reflex-0.5.9a1/reflex/components/chakra/media/icon.pyi +0 -171
- reflex-0.5.9a1/reflex/components/chakra/media/image.py +0 -74
- reflex-0.5.9a1/reflex/components/chakra/media/image.pyi +0 -118
- reflex-0.5.9a1/reflex/components/chakra/navigation/__init__.py +0 -18
- reflex-0.5.9a1/reflex/components/chakra/navigation/breadcrumb.py +0 -98
- reflex-0.5.9a1/reflex/components/chakra/navigation/breadcrumb.pyi +0 -351
- reflex-0.5.9a1/reflex/components/chakra/navigation/link.py +0 -62
- reflex-0.5.9a1/reflex/components/chakra/navigation/link.pyi +0 -105
- reflex-0.5.9a1/reflex/components/chakra/navigation/linkoverlay.py +0 -22
- reflex-0.5.9a1/reflex/components/chakra/navigation/linkoverlay.pyi +0 -167
- reflex-0.5.9a1/reflex/components/chakra/navigation/stepper.py +0 -113
- reflex-0.5.9a1/reflex/components/chakra/navigation/stepper.pyi +0 -762
- reflex-0.5.9a1/reflex/components/chakra/overlay/__init__.py +0 -50
- reflex-0.5.9a1/reflex/components/chakra/overlay/alertdialog.py +0 -153
- reflex-0.5.9a1/reflex/components/chakra/overlay/alertdialog.pyi +0 -612
- reflex-0.5.9a1/reflex/components/chakra/overlay/drawer.py +0 -168
- reflex-0.5.9a1/reflex/components/chakra/overlay/drawer.pyi +0 -652
- reflex-0.5.9a1/reflex/components/chakra/overlay/menu.py +0 -225
- reflex-0.5.9a1/reflex/components/chakra/overlay/menu.pyi +0 -708
- reflex-0.5.9a1/reflex/components/chakra/overlay/modal.py +0 -166
- reflex-0.5.9a1/reflex/components/chakra/overlay/modal.pyi +0 -600
- reflex-0.5.9a1/reflex/components/chakra/overlay/popover.py +0 -183
- reflex-0.5.9a1/reflex/components/chakra/overlay/popover.pyi +0 -757
- reflex-0.5.9a1/reflex/components/chakra/overlay/tooltip.py +0 -70
- reflex-0.5.9a1/reflex/components/chakra/overlay/tooltip.pyi +0 -129
- reflex-0.5.9a1/reflex/components/chakra/typography/__init__.py +0 -10
- reflex-0.5.9a1/reflex/components/chakra/typography/heading.py +0 -16
- reflex-0.5.9a1/reflex/components/chakra/typography/heading.pyi +0 -96
- reflex-0.5.9a1/reflex/components/chakra/typography/highlight.py +0 -23
- reflex-0.5.9a1/reflex/components/chakra/typography/highlight.pyi +0 -91
- reflex-0.5.9a1/reflex/components/chakra/typography/span.py +0 -15
- reflex-0.5.9a1/reflex/components/chakra/typography/span.pyi +0 -89
- reflex-0.5.9a1/reflex/components/chakra/typography/text.py +0 -18
- reflex-0.5.9a1/reflex/components/chakra/typography/text.pyi +0 -91
- reflex-0.5.9a1/reflex/components/media/__init__.py +0 -1
- reflex-0.5.9a1/reflex/components/media/icon.py +0 -3
- {reflex-0.5.9a1 → reflex-0.5.10}/LICENSE +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/README.md +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/.gitignore +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/assets/favicon.ico +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/assets/github.svg +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/assets/icon.svg +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/assets/logo.svg +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/assets/paneleft.svg +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/demo.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/pages/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/pages/chatapp.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/pages/datatable.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/pages/forms.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/pages/graphing.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/pages/home.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/sidebar.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/state.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/states/form_state.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/states/pie_state.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/styles.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/webui/components/chat.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/webui/components/loading_icon.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/webui/components/modal.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/webui/state.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/apps/demo/code/webui/styles.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/next.config.js +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/styles/tailwind.css +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/.templates/web/utils/state.js +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/__main__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/admin.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/app_module_for_backend.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/base.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/compiler/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/compiler/compiler.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/compiler/templates.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/compiler/utils.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/bare.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/body.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/body.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/document.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/document.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/error_boundary.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/error_boundary.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/fragment.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/head.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/head.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/link.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/link.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/meta.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/script.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/base/script.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/component.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/banner.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/client_side_routing.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/clipboard.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/clipboard.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/colors.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/cond.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/debounce.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/foreach.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/html.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/html.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/match.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/responsive.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/upload.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/datadisplay/code.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/datadisplay/code.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/datadisplay/dataeditor.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/element.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/element.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/forms.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/forms.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/metadata.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/literals.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/lucide/icon.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/moment/moment.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/next/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/next/base.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/next/base.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/next/image.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/next/image.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/next/link.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/next/link.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/next/video.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/next/video.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/plotly/plotly.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/props.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/accordion.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/accordion.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/color_mode.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/color_mode.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/react_player/video.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/charts.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/general.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/suneditor/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/suneditor/editor.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/suneditor/editor.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/tags/tag.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/config.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/constants/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/constants/colors.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/constants/compiler.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/constants/config.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/constants/custom_components.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/constants/event.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/constants/route.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/constants/style.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/custom_components/custom_components.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/event.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/assets.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/client_state.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/layout.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/layout.pyi +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/misc.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/vars/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/vars/base.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/vars/function.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/vars/number.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/vars/object.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/experimental/vars/sequence.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/middleware/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/middleware/middleware.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/model.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/page.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/route.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/style.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/__init__.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/build.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/codespaces.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/compat.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/console.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/exceptions.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/exec.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/export.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/format.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/imports.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/path_ops.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/processes.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/redir.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/serializers.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/telemetry.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/utils/watch.py +0 -0
- {reflex-0.5.9a1 → reflex-0.5.10}/reflex/vars.pyi +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.10
|
|
4
4
|
Summary: Web apps in pure Python.
|
|
5
5
|
Home-page: https://reflex.dev
|
|
6
6
|
License: Apache-2.0
|
|
@@ -34,6 +34,7 @@ Requires-Dist: python-engineio (!=4.6.0)
|
|
|
34
34
|
Requires-Dist: python-multipart (>=0.0.5,<0.1)
|
|
35
35
|
Requires-Dist: python-socketio (>=5.7.0,<6.0)
|
|
36
36
|
Requires-Dist: redis (>=4.3.5,<6.0)
|
|
37
|
+
Requires-Dist: reflex-chakra (>=0.1.1a1,<0.6)
|
|
37
38
|
Requires-Dist: reflex-hosting-cli (>=0.1.2,<2.0)
|
|
38
39
|
Requires-Dist: rich (>=13.0.0,<14.0)
|
|
39
40
|
Requires-Dist: setuptools (>=69.1.1,<70.2)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "reflex"
|
|
3
|
-
version = "0.5.
|
|
3
|
+
version = "0.5.10"
|
|
4
4
|
description = "Web apps in pure Python."
|
|
5
5
|
license = "Apache-2.0"
|
|
6
6
|
authors = [
|
|
@@ -61,6 +61,7 @@ httpx = ">=0.25.1,<1.0"
|
|
|
61
61
|
twine = ">=4.0.0,<6.0"
|
|
62
62
|
tomlkit = ">=0.12.4,<1.0"
|
|
63
63
|
lazy_loader = ">=0.4"
|
|
64
|
+
reflex-chakra = ">=0.1.1a1,<0.6"
|
|
64
65
|
|
|
65
66
|
[tool.poetry.group.dev.dependencies]
|
|
66
67
|
pytest = ">=7.1.2,<8.0"
|
|
@@ -270,7 +270,7 @@ _MAPPING: dict = {
|
|
|
270
270
|
"EditorButtonList",
|
|
271
271
|
"EditorOptions",
|
|
272
272
|
],
|
|
273
|
-
"components": ["el", "
|
|
273
|
+
"components": ["el", "radix", "lucide", "recharts", "next"],
|
|
274
274
|
"components.markdown": ["markdown"],
|
|
275
275
|
**RADIX_MAPPING,
|
|
276
276
|
"components.plotly": ["plotly"],
|
|
@@ -342,8 +342,27 @@ _SUBMODULES: set[str] = {
|
|
|
342
342
|
"compiler",
|
|
343
343
|
}
|
|
344
344
|
_SUBMOD_ATTRS: dict = _MAPPING
|
|
345
|
-
|
|
345
|
+
getattr, __dir__, __all__ = lazy_loader.attach(
|
|
346
346
|
__name__,
|
|
347
347
|
submodules=_SUBMODULES,
|
|
348
348
|
submod_attrs=_SUBMOD_ATTRS,
|
|
349
349
|
)
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
def __getattr__(name):
|
|
353
|
+
if name == "chakra":
|
|
354
|
+
from reflex.utils import console
|
|
355
|
+
|
|
356
|
+
console.deprecate(
|
|
357
|
+
"rx.chakra",
|
|
358
|
+
reason="and moved to a separate package. "
|
|
359
|
+
"To continue using Chakra UI components, install the `reflex-chakra` package via `pip install "
|
|
360
|
+
"reflex-chakra`.",
|
|
361
|
+
deprecation_version="0.6.0",
|
|
362
|
+
removal_version="0.7.0",
|
|
363
|
+
dedupe=True,
|
|
364
|
+
)
|
|
365
|
+
import reflex_chakra as rc
|
|
366
|
+
|
|
367
|
+
return rc
|
|
368
|
+
return getattr(name)
|
|
@@ -21,7 +21,6 @@ from .admin import AdminDash as AdminDash
|
|
|
21
21
|
from .app import App as App
|
|
22
22
|
from .app import UploadFile as UploadFile
|
|
23
23
|
from .base import Base as Base
|
|
24
|
-
from .components import chakra as chakra
|
|
25
24
|
from .components import el as el
|
|
26
25
|
from .components import lucide as lucide
|
|
27
26
|
from .components import next as next
|
|
@@ -125,8 +125,8 @@ def default_backend_exception_handler(exception: Exception) -> EventSpec:
|
|
|
125
125
|
)
|
|
126
126
|
if Toaster.is_used:
|
|
127
127
|
return toast(
|
|
128
|
+
"An error occurred.",
|
|
128
129
|
level="error",
|
|
129
|
-
title="An error occurred.",
|
|
130
130
|
description="<br/>".join(error_message),
|
|
131
131
|
position="top-center",
|
|
132
132
|
id="backend_error",
|
|
@@ -70,7 +70,7 @@ def get_base_component_map() -> dict[str, Callable]:
|
|
|
70
70
|
"a": lambda value: Link.create(value),
|
|
71
71
|
"code": lambda value: Code.create(value),
|
|
72
72
|
"codeblock": lambda value, **props: CodeBlock.create(
|
|
73
|
-
value, margin_y="1em", **props
|
|
73
|
+
value, margin_y="1em", wrap_long_lines=True, **props
|
|
74
74
|
),
|
|
75
75
|
}
|
|
76
76
|
|
|
@@ -138,6 +138,9 @@ class XAxis(Axis):
|
|
|
138
138
|
# Ensures that all datapoints within a chart contribute to its domain calculation, even when they are hidden
|
|
139
139
|
include_hidden: Var[bool] = Var.create_safe(False)
|
|
140
140
|
|
|
141
|
+
# The range of the axis. Work best in conjuction with allow_data_overflow.
|
|
142
|
+
domain: Var[List]
|
|
143
|
+
|
|
141
144
|
|
|
142
145
|
class YAxis(Axis):
|
|
143
146
|
"""A YAxis component in Recharts."""
|
|
@@ -192,6 +192,7 @@ class XAxis(Axis):
|
|
|
192
192
|
] = None,
|
|
193
193
|
x_axis_id: Optional[Union[Var[Union[int, str]], str, int]] = None,
|
|
194
194
|
include_hidden: Optional[Union[Var[bool], bool]] = None,
|
|
195
|
+
domain: Optional[Union[Var[List], List]] = None,
|
|
195
196
|
data_key: Optional[Union[Var[Union[int, str]], str, int]] = None,
|
|
196
197
|
hide: Optional[Union[Var[bool], bool]] = None,
|
|
197
198
|
width: Optional[Union[Var[Union[int, str]], str, int]] = None,
|
|
@@ -320,6 +321,7 @@ class XAxis(Axis):
|
|
|
320
321
|
orientation: The orientation of axis 'top' | 'bottom'
|
|
321
322
|
x_axis_id: The id of x-axis which is corresponding to the data.
|
|
322
323
|
include_hidden: Ensures that all datapoints within a chart contribute to its domain calculation, even when they are hidden
|
|
324
|
+
domain: The range of the axis. Work best in conjuction with allow_data_overflow.
|
|
323
325
|
data_key: The key of data displayed in the axis.
|
|
324
326
|
hide: If set true, the axis do not display in the chart.
|
|
325
327
|
width: The width of axis which is usually calculated internally.
|
|
@@ -4,6 +4,8 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
from typing import Any, ClassVar, Literal, Optional, Union
|
|
6
6
|
|
|
7
|
+
from pydantic import ValidationError
|
|
8
|
+
|
|
7
9
|
from reflex.base import Base
|
|
8
10
|
from reflex.components.component import Component, ComponentNamespace
|
|
9
11
|
from reflex.components.lucide.icon import Icon
|
|
@@ -27,7 +29,6 @@ LiteralPosition = Literal[
|
|
|
27
29
|
"bottom-right",
|
|
28
30
|
]
|
|
29
31
|
|
|
30
|
-
|
|
31
32
|
toast_ref = Var.create_safe("refs['__toast']", _var_is_string=False)
|
|
32
33
|
|
|
33
34
|
|
|
@@ -128,6 +129,24 @@ class ToastProps(PropsBase):
|
|
|
128
129
|
# Function that gets called when the toast disappears automatically after it's timeout (duration` prop).
|
|
129
130
|
on_auto_close: Optional[Any]
|
|
130
131
|
|
|
132
|
+
def __init__(self, **kwargs):
|
|
133
|
+
"""Initialize the props.
|
|
134
|
+
|
|
135
|
+
Args:
|
|
136
|
+
kwargs: Kwargs to initialize the props.
|
|
137
|
+
|
|
138
|
+
Raises:
|
|
139
|
+
ValueError: If invalid props are passed on instantiation.
|
|
140
|
+
"""
|
|
141
|
+
try:
|
|
142
|
+
super().__init__(**kwargs)
|
|
143
|
+
except ValidationError as e:
|
|
144
|
+
invalid_fields = ", ".join([error["loc"][0] for error in e.errors()]) # type: ignore
|
|
145
|
+
supported_props_str = ", ".join(f'"{field}"' for field in self.get_fields())
|
|
146
|
+
raise ValueError(
|
|
147
|
+
f"Invalid prop(s) {invalid_fields} for rx.toast. Supported props are {supported_props_str}"
|
|
148
|
+
) from None
|
|
149
|
+
|
|
131
150
|
def dict(self, *args, **kwargs) -> dict[str, Any]:
|
|
132
151
|
"""Convert the object to a dictionary.
|
|
133
152
|
|
|
@@ -159,6 +178,13 @@ class ToastProps(PropsBase):
|
|
|
159
178
|
)
|
|
160
179
|
return d
|
|
161
180
|
|
|
181
|
+
class Config:
|
|
182
|
+
"""Pydantic config."""
|
|
183
|
+
|
|
184
|
+
arbitrary_types_allowed = True
|
|
185
|
+
use_enum_values = True
|
|
186
|
+
extra = "forbid"
|
|
187
|
+
|
|
162
188
|
|
|
163
189
|
class Toaster(Component):
|
|
164
190
|
"""A Toaster Component for displaying toast notifications."""
|
|
@@ -51,6 +51,11 @@ class ToastProps(PropsBase):
|
|
|
51
51
|
|
|
52
52
|
def dict(self, *args, **kwargs) -> dict[str, Any]: ...
|
|
53
53
|
|
|
54
|
+
class Config:
|
|
55
|
+
arbitrary_types_allowed = True
|
|
56
|
+
use_enum_values = True
|
|
57
|
+
extra = "forbid"
|
|
58
|
+
|
|
54
59
|
class Toaster(Component):
|
|
55
60
|
is_used: ClassVar[bool] = False
|
|
56
61
|
|
|
@@ -77,6 +77,8 @@ class Reflex(SimpleNamespace):
|
|
|
77
77
|
os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
78
78
|
)
|
|
79
79
|
|
|
80
|
+
RELEASES_URL = f"https://api.github.com/repos/reflex-dev/templates/releases"
|
|
81
|
+
|
|
80
82
|
|
|
81
83
|
class ReflexHostingCLI(SimpleNamespace):
|
|
82
84
|
"""Base constants concerning Reflex Hosting CLI."""
|
|
@@ -7,7 +7,7 @@ from reflex.vars import Var, VarData
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def _compose_react_imports(tags: list[str]) -> dict[str, list[ImportVar]]:
|
|
10
|
-
return {"react": [ImportVar(tag=tag
|
|
10
|
+
return {"react": [ImportVar(tag=tag) for tag in tags]}
|
|
11
11
|
|
|
12
12
|
|
|
13
13
|
def const(name, value) -> Var:
|
|
@@ -85,10 +85,6 @@ def _init(
|
|
|
85
85
|
prerequisites.initialize_reflex_user_directory()
|
|
86
86
|
prerequisites.ensure_reflex_installation_id()
|
|
87
87
|
|
|
88
|
-
# When upgrading to 0.4, show migration instructions.
|
|
89
|
-
if prerequisites.should_show_rx_chakra_migration_instructions():
|
|
90
|
-
prerequisites.show_rx_chakra_migration_instructions()
|
|
91
|
-
|
|
92
88
|
# Set up the web project.
|
|
93
89
|
prerequisites.initialize_frontend_dependencies()
|
|
94
90
|
|
|
@@ -458,17 +454,6 @@ def makemigrations(
|
|
|
458
454
|
)
|
|
459
455
|
|
|
460
456
|
|
|
461
|
-
@script_cli.command(
|
|
462
|
-
name="keep-chakra",
|
|
463
|
-
help="Change all rx.<component> references to rx.chakra.<component>, to preserve Chakra UI usage.",
|
|
464
|
-
)
|
|
465
|
-
def keep_chakra():
|
|
466
|
-
"""Change all rx.<component> references to rx.chakra.<component>, to preserve Chakra UI usage."""
|
|
467
|
-
from reflex.utils import prerequisites
|
|
468
|
-
|
|
469
|
-
prerequisites.migrate_to_rx_chakra()
|
|
470
|
-
|
|
471
|
-
|
|
472
457
|
@cli.command()
|
|
473
458
|
def deploy(
|
|
474
459
|
key: Optional[str] = typer.Option(
|
|
@@ -55,6 +55,7 @@ from reflex.utils import console, format, prerequisites, types
|
|
|
55
55
|
from reflex.utils.exceptions import ImmutableStateError, LockExpiredError
|
|
56
56
|
from reflex.utils.exec import is_testing_env
|
|
57
57
|
from reflex.utils.serializers import SerializedType, serialize, serializer
|
|
58
|
+
from reflex.utils.types import override
|
|
58
59
|
from reflex.vars import BaseVar, ComputedVar, Var, computed_var
|
|
59
60
|
|
|
60
61
|
if TYPE_CHECKING:
|
|
@@ -1232,6 +1233,17 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
1232
1233
|
parent_states_with_name.append((parent_state.get_full_name(), parent_state))
|
|
1233
1234
|
return parent_states_with_name
|
|
1234
1235
|
|
|
1236
|
+
def _get_root_state(self) -> BaseState:
|
|
1237
|
+
"""Get the root state of the state tree.
|
|
1238
|
+
|
|
1239
|
+
Returns:
|
|
1240
|
+
The root state of the state tree.
|
|
1241
|
+
"""
|
|
1242
|
+
parent_state = self
|
|
1243
|
+
while parent_state.parent_state is not None:
|
|
1244
|
+
parent_state = parent_state.parent_state
|
|
1245
|
+
return parent_state
|
|
1246
|
+
|
|
1235
1247
|
async def _populate_parent_states(self, target_state_cls: Type[BaseState]):
|
|
1236
1248
|
"""Populate substates in the tree between the target_state_cls and common ancestor of this state.
|
|
1237
1249
|
|
|
@@ -1291,10 +1303,7 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
1291
1303
|
Returns:
|
|
1292
1304
|
The instance of state_cls associated with this state's client_token.
|
|
1293
1305
|
"""
|
|
1294
|
-
|
|
1295
|
-
root_state = self
|
|
1296
|
-
else:
|
|
1297
|
-
root_state = self._get_parent_states()[-1][1]
|
|
1306
|
+
root_state = self._get_root_state()
|
|
1298
1307
|
return root_state.get_substate(state_cls.get_full_name().split("."))
|
|
1299
1308
|
|
|
1300
1309
|
async def _get_state_from_redis(self, state_cls: Type[BaseState]) -> BaseState:
|
|
@@ -1445,9 +1454,7 @@ class BaseState(Base, ABC, extra=pydantic.Extra.allow):
|
|
|
1445
1454
|
The valid StateUpdate containing the events and final flag.
|
|
1446
1455
|
"""
|
|
1447
1456
|
# get the delta from the root of the state tree
|
|
1448
|
-
state = self
|
|
1449
|
-
while state.parent_state is not None:
|
|
1450
|
-
state = state.parent_state
|
|
1457
|
+
state = self._get_root_state()
|
|
1451
1458
|
|
|
1452
1459
|
token = self.router.session.client_token
|
|
1453
1460
|
|
|
@@ -2368,6 +2375,7 @@ class StateManagerMemory(StateManager):
|
|
|
2368
2375
|
"_states_locks": {"exclude": True},
|
|
2369
2376
|
}
|
|
2370
2377
|
|
|
2378
|
+
@override
|
|
2371
2379
|
async def get_state(self, token: str) -> BaseState:
|
|
2372
2380
|
"""Get the state for a token.
|
|
2373
2381
|
|
|
@@ -2383,6 +2391,7 @@ class StateManagerMemory(StateManager):
|
|
|
2383
2391
|
self.states[token] = self.state(_reflex_internal_init=True)
|
|
2384
2392
|
return self.states[token]
|
|
2385
2393
|
|
|
2394
|
+
@override
|
|
2386
2395
|
async def set_state(self, token: str, state: BaseState):
|
|
2387
2396
|
"""Set the state for a token.
|
|
2388
2397
|
|
|
@@ -2392,6 +2401,7 @@ class StateManagerMemory(StateManager):
|
|
|
2392
2401
|
"""
|
|
2393
2402
|
pass
|
|
2394
2403
|
|
|
2404
|
+
@override
|
|
2395
2405
|
@contextlib.asynccontextmanager
|
|
2396
2406
|
async def modify_state(self, token: str) -> AsyncIterator[BaseState]:
|
|
2397
2407
|
"""Modify the state for a token while holding exclusive lock.
|
|
@@ -2483,19 +2493,6 @@ class StateManagerRedis(StateManager):
|
|
|
2483
2493
|
# Only warn about each state class size once.
|
|
2484
2494
|
_warned_about_state_size: ClassVar[Set[str]] = set()
|
|
2485
2495
|
|
|
2486
|
-
def _get_root_state(self, state: BaseState) -> BaseState:
|
|
2487
|
-
"""Chase parent_state pointers to find an instance of the top-level state.
|
|
2488
|
-
|
|
2489
|
-
Args:
|
|
2490
|
-
state: The state to start from.
|
|
2491
|
-
|
|
2492
|
-
Returns:
|
|
2493
|
-
An instance of the top-level state (self.state).
|
|
2494
|
-
"""
|
|
2495
|
-
while type(state) != self.state and state.parent_state is not None:
|
|
2496
|
-
state = state.parent_state
|
|
2497
|
-
return state
|
|
2498
|
-
|
|
2499
2496
|
async def _get_parent_state(self, token: str) -> BaseState | None:
|
|
2500
2497
|
"""Get the parent state for the state requested in the token.
|
|
2501
2498
|
|
|
@@ -2558,6 +2555,7 @@ class StateManagerRedis(StateManager):
|
|
|
2558
2555
|
for substate_name, substate_task in tasks.items():
|
|
2559
2556
|
state.substates[substate_name] = await substate_task
|
|
2560
2557
|
|
|
2558
|
+
@override
|
|
2561
2559
|
async def get_state(
|
|
2562
2560
|
self,
|
|
2563
2561
|
token: str,
|
|
@@ -2609,7 +2607,7 @@ class StateManagerRedis(StateManager):
|
|
|
2609
2607
|
# To retain compatibility with previous implementation, by default, we return
|
|
2610
2608
|
# the top-level state by chasing `parent_state` pointers up the tree.
|
|
2611
2609
|
if top_level:
|
|
2612
|
-
return
|
|
2610
|
+
return state._get_root_state()
|
|
2613
2611
|
return state
|
|
2614
2612
|
|
|
2615
2613
|
# TODO: dedupe the following logic with the above block
|
|
@@ -2631,7 +2629,7 @@ class StateManagerRedis(StateManager):
|
|
|
2631
2629
|
# To retain compatibility with previous implementation, by default, we return
|
|
2632
2630
|
# the top-level state by chasing `parent_state` pointers up the tree.
|
|
2633
2631
|
if top_level:
|
|
2634
|
-
return
|
|
2632
|
+
return state._get_root_state()
|
|
2635
2633
|
return state
|
|
2636
2634
|
|
|
2637
2635
|
def _warn_if_too_large(
|
|
@@ -2657,6 +2655,7 @@ class StateManagerRedis(StateManager):
|
|
|
2657
2655
|
)
|
|
2658
2656
|
self._warned_about_state_size.add(state_full_name)
|
|
2659
2657
|
|
|
2658
|
+
@override
|
|
2660
2659
|
async def set_state(
|
|
2661
2660
|
self,
|
|
2662
2661
|
token: str,
|
|
@@ -2717,6 +2716,7 @@ class StateManagerRedis(StateManager):
|
|
|
2717
2716
|
for t in tasks:
|
|
2718
2717
|
await t
|
|
2719
2718
|
|
|
2719
|
+
@override
|
|
2720
2720
|
@contextlib.asynccontextmanager
|
|
2721
2721
|
async def modify_state(self, token: str) -> AsyncIterator[BaseState]:
|
|
2722
2722
|
"""Modify the state for a token while holding exclusive lock.
|
|
@@ -115,7 +115,7 @@ class AppHarness:
|
|
|
115
115
|
|
|
116
116
|
app_name: str
|
|
117
117
|
app_source: Optional[
|
|
118
|
-
types.FunctionType | types.ModuleType | str | functools.partial
|
|
118
|
+
types.FunctionType | types.ModuleType | str | functools.partial[Any]
|
|
119
119
|
]
|
|
120
120
|
app_path: pathlib.Path
|
|
121
121
|
app_module_path: pathlib.Path
|
|
@@ -134,7 +134,9 @@ class AppHarness:
|
|
|
134
134
|
def create(
|
|
135
135
|
cls,
|
|
136
136
|
root: pathlib.Path,
|
|
137
|
-
app_source: Optional[
|
|
137
|
+
app_source: Optional[
|
|
138
|
+
types.FunctionType | types.ModuleType | str | functools.partial[Any]
|
|
139
|
+
] = None,
|
|
138
140
|
app_name: Optional[str] = None,
|
|
139
141
|
) -> "AppHarness":
|
|
140
142
|
"""Create an AppHarness instance at root.
|
|
@@ -274,7 +276,10 @@ class AppHarness:
|
|
|
274
276
|
before_decorated_pages = reflex.app.DECORATED_PAGES[self.app_name].copy()
|
|
275
277
|
# Ensure the AppHarness test does not skip State assignment due to running via pytest
|
|
276
278
|
os.environ.pop(reflex.constants.PYTEST_CURRENT_TEST, None)
|
|
277
|
-
self.app_module = reflex.utils.prerequisites.get_compiled_app(
|
|
279
|
+
self.app_module = reflex.utils.prerequisites.get_compiled_app(
|
|
280
|
+
# Do not reload the module for pre-existing apps (only apps generated from source)
|
|
281
|
+
reload=self.app_source is not None
|
|
282
|
+
)
|
|
278
283
|
# Save the pages that were added during testing
|
|
279
284
|
self._decorated_pages = [
|
|
280
285
|
p
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"""Helpers for downloading files from the network."""
|
|
2
|
+
|
|
3
|
+
import os
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
|
|
7
|
+
from . import console
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def _httpx_verify_kwarg() -> bool:
|
|
11
|
+
"""Get the value of the HTTPX verify keyword argument.
|
|
12
|
+
|
|
13
|
+
Returns:
|
|
14
|
+
True if SSL verification is enabled, False otherwise
|
|
15
|
+
"""
|
|
16
|
+
ssl_no_verify = os.environ.get("SSL_NO_VERIFY", "").lower() in ["true", "1", "yes"]
|
|
17
|
+
return not ssl_no_verify
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def get(url: str, **kwargs) -> httpx.Response:
|
|
21
|
+
"""Make an HTTP GET request.
|
|
22
|
+
|
|
23
|
+
Args:
|
|
24
|
+
url: The URL to request.
|
|
25
|
+
**kwargs: Additional keyword arguments to pass to httpx.get.
|
|
26
|
+
|
|
27
|
+
Returns:
|
|
28
|
+
The response object.
|
|
29
|
+
|
|
30
|
+
Raises:
|
|
31
|
+
httpx.ConnectError: If the connection cannot be established.
|
|
32
|
+
"""
|
|
33
|
+
kwargs.setdefault("verify", _httpx_verify_kwarg())
|
|
34
|
+
try:
|
|
35
|
+
return httpx.get(url, **kwargs)
|
|
36
|
+
except httpx.ConnectError as err:
|
|
37
|
+
if "CERTIFICATE_VERIFY_FAILED" in str(err):
|
|
38
|
+
# If the error is a certificate verification error, recommend mitigating steps.
|
|
39
|
+
console.error(
|
|
40
|
+
f"Certificate verification failed for {url}. Set environment variable SSL_CERT_FILE to the "
|
|
41
|
+
"path of the certificate file or SSL_NO_VERIFY=1 to disable verification."
|
|
42
|
+
)
|
|
43
|
+
raise
|