reflex 0.3.2__tar.gz → 0.3.3a1__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.3.2 → reflex-0.3.3a1}/PKG-INFO +3 -2
- {reflex-0.3.2 → reflex-0.3.3a1}/pyproject.toml +8 -3
- reflex-0.3.3a1/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +27 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/web/next.config.js +1 -0
- reflex-0.3.3a1/reflex/.templates/web/utils/helpers/range.js +43 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/web/utils/state.js +10 -6
- reflex-0.3.3a1/reflex/__init__.py +319 -0
- reflex-0.3.3a1/reflex/__init__.pyi +477 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/compiler/compiler.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/__init__.py +138 -138
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/component.py +29 -22
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/__init__.py +3 -1
- reflex-0.3.3a1/reflex/components/datadisplay/code.py +499 -0
- reflex-0.3.3a1/reflex/components/datadisplay/code.pyi +1190 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/button.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/checkbox.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/form.py +90 -27
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/input.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/numberinput.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/pininput.py +77 -21
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/radio.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/rangeslider.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/select.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/slider.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/switch.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/textarea.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/libs/chakra.py +2 -0
- reflex-0.3.3a1/reflex/components/libs/chakra.pyi +427 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/tags/tag.py +3 -2
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/typography/markdown.py +10 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/constants/installer.py +4 -4
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/event.py +4 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/page.py +3 -4
- reflex-0.3.3a1/reflex/page.pyi +17 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/reflex.py +3 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/state.py +31 -12
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/testing.py +1 -1
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/build.py +24 -19
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/console.py +5 -1
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/format.py +26 -9
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/prerequisites.py +27 -28
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/processes.py +5 -4
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/vars.py +80 -12
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/vars.pyi +7 -0
- reflex-0.3.2/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -10
- reflex-0.3.2/reflex/.templates/web/styles/code/prism.js +0 -1015
- reflex-0.3.2/reflex/__init__.py +0 -47
- reflex-0.3.2/reflex/components/datadisplay/code.py +0 -125
- reflex-0.3.2/reflex/components/datadisplay/code.pyi +0 -54
- reflex-0.3.2/reflex/components/libs/chakra.pyi +0 -128
- {reflex-0.3.2 → reflex-0.3.3a1}/LICENSE +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/README.md +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/.gitignore +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/assets/favicon.ico +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/assets/github.svg +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/assets/icon.svg +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/assets/logo.svg +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/assets/paneleft.svg +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/demo.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/pages/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/pages/chatapp.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/pages/datatable.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/pages/forms.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/pages/graphing.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/pages/home.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/sidebar.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/state.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/states/form_state.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/states/pie_state.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/styles.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/webui/components/chat.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/webui/components/loading_icon.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/webui/components/modal.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/webui/state.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/demo/code/webui/styles.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/README.md +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/assets/favicon.ico +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/assets/github.svg +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/assets/icon.svg +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/assets/logo.svg +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/assets/paneleft.svg +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/components/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/components/sidebar.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/pages/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/pages/dashboard.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/pages/index.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/pages/settings.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/sidebar.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/state.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/styles.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/templates/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/apps/sidebar/code/templates/template.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/web/styles/tailwind.css +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/__main__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/admin.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/app.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/app.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/base.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/compiler/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/compiler/templates.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/compiler/utils.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/bare.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/body.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/body.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/document.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/document.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/head.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/head.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/link.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/link.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/meta.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/script.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/base/script.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/badge.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/badge.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/dataeditor.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/datatable.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/datatable.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/divider.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/divider.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/keyboard_key.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/keyboard_key.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/list.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/list.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/moment.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/stat.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/stat.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/table.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/table.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/tag.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/datadisplay/tag.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/disclosure/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/disclosure/accordion.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/disclosure/accordion.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/disclosure/tabs.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/disclosure/tabs.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/disclosure/transition.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/disclosure/transition.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/disclosure/visuallyhidden.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/disclosure/visuallyhidden.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/feedback/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/feedback/alert.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/feedback/alert.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/feedback/circularprogress.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/feedback/circularprogress.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/feedback/progress.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/feedback/progress.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/feedback/skeleton.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/feedback/skeleton.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/feedback/spinner.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/feedback/spinner.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/button.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/checkbox.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/colormodeswitch.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/colormodeswitch.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/date_picker.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/date_picker.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/date_time_picker.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/date_time_picker.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/debounce.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/debounce.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/editable.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/editable.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/editor.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/editor.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/email.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/email.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/form.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/iconbutton.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/iconbutton.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/input.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/multiselect.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/numberinput.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/password.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/password.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/pininput.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/radio.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/rangeslider.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/select.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/slider.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/switch.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/textarea.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/upload.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/forms/upload.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/plotly.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/plotly.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/recharts/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/recharts/cartesian.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/recharts/cartesian.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/recharts/charts.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/recharts/charts.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/recharts/general.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/recharts/general.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/recharts/polar.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/recharts/polar.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/recharts/recharts.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/graphing/recharts/recharts.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/aspect_ratio.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/aspect_ratio.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/box.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/box.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/card.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/card.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/center.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/center.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/cond.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/container.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/container.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/flex.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/flex.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/foreach.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/fragment.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/fragment.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/grid.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/grid.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/html.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/html.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/responsive.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/spacer.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/spacer.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/stack.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/stack.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/wrap.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/layout/wrap.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/libs/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/libs/react_player.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/libs/react_player.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/literals.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/media/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/media/audio.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/media/audio.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/media/avatar.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/media/avatar.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/media/icon.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/media/icon.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/media/image.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/media/image.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/media/video.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/media/video.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/breadcrumb.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/breadcrumb.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/client_side_routing.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/client_side_routing.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/link.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/link.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/linkoverlay.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/linkoverlay.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/nextlink.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/nextlink.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/stepper.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/navigation/stepper.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/alertdialog.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/alertdialog.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/banner.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/banner.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/drawer.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/drawer.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/menu.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/menu.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/modal.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/modal.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/popover.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/popover.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/tooltip.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/overlay/tooltip.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/radix/themes/components.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/radix/themes/components.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/radix/themes/layout.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/radix/themes/layout.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/radix/themes/typography.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/radix/themes/typography.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/typography/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/typography/heading.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/typography/heading.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/typography/highlight.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/typography/highlight.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/typography/markdown.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/typography/span.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/typography/span.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/typography/text.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/components/typography/text.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/config.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/config.pyi +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/constants/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/constants/base.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/constants/compiler.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/constants/config.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/constants/event.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/constants/hosting.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/constants/route.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/constants/style.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/el/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/el/constants/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/el/constants/html.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/el/constants/react.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/el/constants/reflex.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/el/element.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/el/elements/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/el/precompile.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/middleware/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/middleware/middleware.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/model.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/route.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/style.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/__init__.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/dependency.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/exceptions.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/exec.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/hosting.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/imports.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/path_ops.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/serializers.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/telemetry.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/types.py +0 -0
- {reflex-0.3.2 → reflex-0.3.3a1}/reflex/utils/watch.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.3a1
|
|
4
4
|
Summary: Web apps in pure Python.
|
|
5
5
|
Home-page: https://reflex.dev
|
|
6
6
|
License: Apache-2.0
|
|
@@ -36,7 +36,8 @@ Requires-Dist: sqlmodel (>=0.0.8,<0.0.9)
|
|
|
36
36
|
Requires-Dist: starlette-admin (>=0.9.0,<0.10.0)
|
|
37
37
|
Requires-Dist: tabulate (>=0.9.0,<0.10.0)
|
|
38
38
|
Requires-Dist: typer (>=0.4.2,<1)
|
|
39
|
-
Requires-Dist: uvicorn (>=0.20.0,<0.21.0)
|
|
39
|
+
Requires-Dist: uvicorn (>=0.20.0,<0.21.0) ; python_version < "3.12"
|
|
40
|
+
Requires-Dist: uvicorn (>=0.24.0,<0.25.0) ; python_version >= "3.12"
|
|
40
41
|
Requires-Dist: watchdog (>=2.3.1,<3.0.0)
|
|
41
42
|
Requires-Dist: watchfiles (>=0.19.0,<0.20.0)
|
|
42
43
|
Requires-Dist: websockets (>=10.4,<11.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "reflex"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.3a1"
|
|
4
4
|
description = "Web apps in pure Python."
|
|
5
5
|
license = "Apache-2.0"
|
|
6
6
|
authors = [
|
|
@@ -40,7 +40,10 @@ redis = "^4.3.5"
|
|
|
40
40
|
rich = "^13.0.0"
|
|
41
41
|
sqlmodel = "^0.0.8"
|
|
42
42
|
typer = ">=0.4.2,<1"
|
|
43
|
-
uvicorn =
|
|
43
|
+
uvicorn = [
|
|
44
|
+
{version = "^0.24.0", python = ">=3.12"},
|
|
45
|
+
{version = "^0.20.0", python = "<3.12"},
|
|
46
|
+
]
|
|
44
47
|
watchdog = "^2.3.1"
|
|
45
48
|
watchfiles = "^0.19.0"
|
|
46
49
|
websockets = "^10.4"
|
|
@@ -68,7 +71,8 @@ pytest-cov = "^4.0.0"
|
|
|
68
71
|
black = "^22.10.0"
|
|
69
72
|
ruff = "^0.0.244"
|
|
70
73
|
pandas = [
|
|
71
|
-
{version = "^1.
|
|
74
|
+
{version = "^2.1.1", python = ">=3.9,<3.13"},
|
|
75
|
+
{version = "^1.5.3", python = ">=3.8,<3.9"},
|
|
72
76
|
]
|
|
73
77
|
pillow = [
|
|
74
78
|
{version = "^10.0.0", python = ">=3.8,<4.0"}
|
|
@@ -78,6 +82,7 @@ asynctest = "^0.13.0"
|
|
|
78
82
|
pre-commit = {version = "^3.2.1", python = ">=3.8,<4.0"}
|
|
79
83
|
selenium = "^4.11.0"
|
|
80
84
|
types-tabulate = "^0.9.0.3"
|
|
85
|
+
pytest-benchmark = "^4.0.0"
|
|
81
86
|
|
|
82
87
|
[tool.poetry.scripts]
|
|
83
88
|
reflex = "reflex.reflex:cli"
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{% extends "web/pages/base_page.js.jinja2" %}
|
|
2
|
+
|
|
3
|
+
{% block export %}
|
|
4
|
+
{% for component in components %}
|
|
5
|
+
|
|
6
|
+
export const {{component.name}} = memo(({ {{-component.props|join(", ")-}} }) => {
|
|
7
|
+
{% if component.name == "CodeBlock" and "language" in component.props %}
|
|
8
|
+
if (language) {
|
|
9
|
+
(async () => {
|
|
10
|
+
try {
|
|
11
|
+
const module = await import(`react-syntax-highlighter/dist/cjs/languages/prism/${language}`);
|
|
12
|
+
SyntaxHighlighter.registerLanguage(language, module.default);
|
|
13
|
+
} catch (error) {
|
|
14
|
+
console.error(`Error importing language module for ${language}:`, error);
|
|
15
|
+
}
|
|
16
|
+
})();
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
}
|
|
20
|
+
{% endif %}
|
|
21
|
+
return(
|
|
22
|
+
{{utils.render(component.render)}}
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
})
|
|
26
|
+
{% endfor %}
|
|
27
|
+
{% endblock %}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simulate the python range() builtin function.
|
|
3
|
+
* inspired by https://dev.to/guyariely/using-python-range-in-javascript-337p
|
|
4
|
+
*
|
|
5
|
+
* If needed outside of an iterator context, use `Array.from(range(10))` or
|
|
6
|
+
* spread syntax `[...range(10)]` to get an array.
|
|
7
|
+
*
|
|
8
|
+
* @param {number} start: the start or end of the range.
|
|
9
|
+
* @param {number} stop: the end of the range.
|
|
10
|
+
* @param {number} step: the step of the range.
|
|
11
|
+
* @returns {object} an object with a Symbol.iterator method over the range
|
|
12
|
+
*/
|
|
13
|
+
export default function range(start, stop, step) {
|
|
14
|
+
return {
|
|
15
|
+
[Symbol.iterator]() {
|
|
16
|
+
if (stop === undefined) {
|
|
17
|
+
stop = start;
|
|
18
|
+
start = 0;
|
|
19
|
+
}
|
|
20
|
+
if (step === undefined) {
|
|
21
|
+
step = 1;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
let i = start - step;
|
|
25
|
+
|
|
26
|
+
return {
|
|
27
|
+
next() {
|
|
28
|
+
i += step;
|
|
29
|
+
if ((step > 0 && i < stop) || (step < 0 && i > stop)) {
|
|
30
|
+
return {
|
|
31
|
+
value: i,
|
|
32
|
+
done: false,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
value: undefined,
|
|
37
|
+
done: true,
|
|
38
|
+
};
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
@@ -12,6 +12,9 @@ import { initialEvents } from "utils/context.js"
|
|
|
12
12
|
const EVENTURL = env.EVENT
|
|
13
13
|
const UPLOADURL = env.UPLOAD
|
|
14
14
|
|
|
15
|
+
// These hostnames indicate that the backend and frontend are reachable via the same domain.
|
|
16
|
+
const SAME_DOMAIN_HOSTNAMES = ["localhost", "0.0.0.0", "::", "0:0:0:0:0:0:0:0"]
|
|
17
|
+
|
|
15
18
|
// Global variable to hold the token.
|
|
16
19
|
let token;
|
|
17
20
|
|
|
@@ -74,12 +77,13 @@ export const getToken = () => {
|
|
|
74
77
|
export const getEventURL = () => {
|
|
75
78
|
// Get backend URL object from the endpoint.
|
|
76
79
|
const endpoint = new URL(EVENTURL);
|
|
77
|
-
if (endpoint.hostname
|
|
78
|
-
//
|
|
79
|
-
// then use the frontend host.
|
|
80
|
+
if (SAME_DOMAIN_HOSTNAMES.includes(endpoint.hostname)) {
|
|
81
|
+
// Use the frontend domain to access the backend
|
|
80
82
|
const frontend_hostname = window.location.hostname;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
+
endpoint.hostname = frontend_hostname;
|
|
84
|
+
if (window.location.protocol === "https:" && endpoint.protocol === "ws:") {
|
|
85
|
+
endpoint.protocol = "wss:";
|
|
86
|
+
endpoint.port = ""; // Assume websocket is on https port via load balancer.
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
89
|
return endpoint
|
|
@@ -569,7 +573,7 @@ export const getRefValues = (refs) => {
|
|
|
569
573
|
return;
|
|
570
574
|
}
|
|
571
575
|
// getAttribute is used by RangeSlider because it doesn't assign value
|
|
572
|
-
return refs.map((ref) => ref.current.value || ref.current.getAttribute("aria-valuenow"));
|
|
576
|
+
return refs.map((ref) => ref.current ? ref.current.value || ref.current.getAttribute("aria-valuenow") : null);
|
|
573
577
|
}
|
|
574
578
|
|
|
575
579
|
/**
|
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
"""Import all classes and functions the end user will need to make an app.
|
|
2
|
+
|
|
3
|
+
Anything imported here will be available in the default Reflex import as `rx.*`.
|
|
4
|
+
To signal to typecheckers that something should be reexported,
|
|
5
|
+
we use the Flask "import name as name" syntax.
|
|
6
|
+
"""
|
|
7
|
+
import importlib
|
|
8
|
+
from typing import Type
|
|
9
|
+
|
|
10
|
+
from reflex.page import page as page
|
|
11
|
+
from reflex.utils.format import to_snake_case
|
|
12
|
+
|
|
13
|
+
_ALL_COMPONENTS = [
|
|
14
|
+
"Accordion",
|
|
15
|
+
"AccordionButton",
|
|
16
|
+
"AccordionIcon",
|
|
17
|
+
"AccordionItem",
|
|
18
|
+
"AccordionPanel",
|
|
19
|
+
"Alert",
|
|
20
|
+
"AlertDescription",
|
|
21
|
+
"AlertDialog",
|
|
22
|
+
"AlertDialogBody",
|
|
23
|
+
"AlertDialogContent",
|
|
24
|
+
"AlertDialogFooter",
|
|
25
|
+
"AlertDialogHeader",
|
|
26
|
+
"AlertDialogOverlay",
|
|
27
|
+
"AlertIcon",
|
|
28
|
+
"AlertTitle",
|
|
29
|
+
"AspectRatio",
|
|
30
|
+
"Audio",
|
|
31
|
+
"Avatar",
|
|
32
|
+
"AvatarBadge",
|
|
33
|
+
"AvatarGroup",
|
|
34
|
+
"Badge",
|
|
35
|
+
"Box",
|
|
36
|
+
"Breadcrumb",
|
|
37
|
+
"BreadcrumbItem",
|
|
38
|
+
"BreadcrumbLink",
|
|
39
|
+
"BreadcrumbSeparator",
|
|
40
|
+
"Button",
|
|
41
|
+
"ButtonGroup",
|
|
42
|
+
"Card",
|
|
43
|
+
"CardBody",
|
|
44
|
+
"CardFooter",
|
|
45
|
+
"CardHeader",
|
|
46
|
+
"Center",
|
|
47
|
+
"Checkbox",
|
|
48
|
+
"CheckboxGroup",
|
|
49
|
+
"CircularProgress",
|
|
50
|
+
"CircularProgressLabel",
|
|
51
|
+
"Circle",
|
|
52
|
+
"Code",
|
|
53
|
+
"CodeBlock",
|
|
54
|
+
"Collapse",
|
|
55
|
+
"ColorModeButton",
|
|
56
|
+
"ColorModeIcon",
|
|
57
|
+
"ColorModeSwitch",
|
|
58
|
+
"Component",
|
|
59
|
+
"Cond",
|
|
60
|
+
"ConnectionBanner",
|
|
61
|
+
"ConnectionModal",
|
|
62
|
+
"Container",
|
|
63
|
+
"DataTable",
|
|
64
|
+
"DataEditor",
|
|
65
|
+
"DebounceInput",
|
|
66
|
+
"Divider",
|
|
67
|
+
"Drawer",
|
|
68
|
+
"DrawerBody",
|
|
69
|
+
"DrawerCloseButton",
|
|
70
|
+
"DrawerContent",
|
|
71
|
+
"DrawerFooter",
|
|
72
|
+
"DrawerHeader",
|
|
73
|
+
"DrawerOverlay",
|
|
74
|
+
"Editable",
|
|
75
|
+
"EditableInput",
|
|
76
|
+
"EditablePreview",
|
|
77
|
+
"EditableTextarea",
|
|
78
|
+
"Editor",
|
|
79
|
+
"Email",
|
|
80
|
+
"Fade",
|
|
81
|
+
"Flex",
|
|
82
|
+
"Foreach",
|
|
83
|
+
"Form",
|
|
84
|
+
"FormControl",
|
|
85
|
+
"FormErrorMessage",
|
|
86
|
+
"FormHelperText",
|
|
87
|
+
"FormLabel",
|
|
88
|
+
"Fragment",
|
|
89
|
+
"Grid",
|
|
90
|
+
"GridItem",
|
|
91
|
+
"Heading",
|
|
92
|
+
"Highlight",
|
|
93
|
+
"Hstack",
|
|
94
|
+
"Html",
|
|
95
|
+
"Icon",
|
|
96
|
+
"IconButton",
|
|
97
|
+
"Image",
|
|
98
|
+
"Input",
|
|
99
|
+
"InputGroup",
|
|
100
|
+
"InputLeftAddon",
|
|
101
|
+
"InputLeftElement",
|
|
102
|
+
"InputRightAddon",
|
|
103
|
+
"InputRightElement",
|
|
104
|
+
"Kbd",
|
|
105
|
+
"Link",
|
|
106
|
+
"LinkBox",
|
|
107
|
+
"LinkOverlay",
|
|
108
|
+
"List",
|
|
109
|
+
"ListItem",
|
|
110
|
+
"Markdown",
|
|
111
|
+
"Menu",
|
|
112
|
+
"MenuButton",
|
|
113
|
+
"MenuDivider",
|
|
114
|
+
"MenuGroup",
|
|
115
|
+
"MenuItem",
|
|
116
|
+
"MenuItemOption",
|
|
117
|
+
"MenuList",
|
|
118
|
+
"MenuOptionGroup",
|
|
119
|
+
"Modal",
|
|
120
|
+
"ModalBody",
|
|
121
|
+
"ModalCloseButton",
|
|
122
|
+
"ModalContent",
|
|
123
|
+
"ModalFooter",
|
|
124
|
+
"ModalHeader",
|
|
125
|
+
"ModalOverlay",
|
|
126
|
+
"Moment",
|
|
127
|
+
"MultiSelect",
|
|
128
|
+
"MultiSelectOption",
|
|
129
|
+
"NextLink",
|
|
130
|
+
"NumberDecrementStepper",
|
|
131
|
+
"NumberIncrementStepper",
|
|
132
|
+
"NumberInput",
|
|
133
|
+
"NumberInputField",
|
|
134
|
+
"NumberInputStepper",
|
|
135
|
+
"Option",
|
|
136
|
+
"OrderedList",
|
|
137
|
+
"Password",
|
|
138
|
+
"PinInput",
|
|
139
|
+
"PinInputField",
|
|
140
|
+
"Plotly",
|
|
141
|
+
"Popover",
|
|
142
|
+
"PopoverAnchor",
|
|
143
|
+
"PopoverArrow",
|
|
144
|
+
"PopoverBody",
|
|
145
|
+
"PopoverCloseButton",
|
|
146
|
+
"PopoverContent",
|
|
147
|
+
"PopoverFooter",
|
|
148
|
+
"PopoverHeader",
|
|
149
|
+
"PopoverTrigger",
|
|
150
|
+
"Progress",
|
|
151
|
+
"Radio",
|
|
152
|
+
"RadioGroup",
|
|
153
|
+
"RangeSlider",
|
|
154
|
+
"RangeSliderFilledTrack",
|
|
155
|
+
"RangeSliderThumb",
|
|
156
|
+
"RangeSliderTrack",
|
|
157
|
+
"ResponsiveGrid",
|
|
158
|
+
"ScaleFade",
|
|
159
|
+
"Script",
|
|
160
|
+
"Select",
|
|
161
|
+
"Skeleton",
|
|
162
|
+
"SkeletonCircle",
|
|
163
|
+
"SkeletonText",
|
|
164
|
+
"Slide",
|
|
165
|
+
"SlideFade",
|
|
166
|
+
"Slider",
|
|
167
|
+
"SliderFilledTrack",
|
|
168
|
+
"SliderMark",
|
|
169
|
+
"SliderThumb",
|
|
170
|
+
"SliderTrack",
|
|
171
|
+
"Spacer",
|
|
172
|
+
"Span",
|
|
173
|
+
"Spinner",
|
|
174
|
+
"Square",
|
|
175
|
+
"Stack",
|
|
176
|
+
"Stat",
|
|
177
|
+
"StatArrow",
|
|
178
|
+
"StatGroup",
|
|
179
|
+
"StatHelpText",
|
|
180
|
+
"StatLabel",
|
|
181
|
+
"StatArrow",
|
|
182
|
+
"StatGroup",
|
|
183
|
+
"StatHelpText",
|
|
184
|
+
"StatLabel",
|
|
185
|
+
"StatNumber",
|
|
186
|
+
"Step",
|
|
187
|
+
"StepDescription",
|
|
188
|
+
"StepIcon",
|
|
189
|
+
"StepIndicator",
|
|
190
|
+
"StepNumber",
|
|
191
|
+
"StepSeparator",
|
|
192
|
+
"StepStatus",
|
|
193
|
+
"StepTitle",
|
|
194
|
+
"Stepper",
|
|
195
|
+
"Switch",
|
|
196
|
+
"Tab",
|
|
197
|
+
"TabList",
|
|
198
|
+
"TabPanel",
|
|
199
|
+
"TabPanels",
|
|
200
|
+
"Table",
|
|
201
|
+
"TableCaption",
|
|
202
|
+
"TableContainer",
|
|
203
|
+
"Tabs",
|
|
204
|
+
"Tag",
|
|
205
|
+
"TagCloseButton",
|
|
206
|
+
"TagLabel",
|
|
207
|
+
"TagLeftIcon",
|
|
208
|
+
"TagRightIcon",
|
|
209
|
+
"Tbody",
|
|
210
|
+
"Td",
|
|
211
|
+
"Text",
|
|
212
|
+
"TextArea",
|
|
213
|
+
"Tfoot",
|
|
214
|
+
"Th",
|
|
215
|
+
"Thead",
|
|
216
|
+
"Tooltip",
|
|
217
|
+
"Tr",
|
|
218
|
+
"UnorderedList",
|
|
219
|
+
"Upload",
|
|
220
|
+
"Video",
|
|
221
|
+
"VisuallyHidden",
|
|
222
|
+
"Vstack",
|
|
223
|
+
"Wrap",
|
|
224
|
+
"WrapItem",
|
|
225
|
+
]
|
|
226
|
+
|
|
227
|
+
_ALL_COMPONENTS += [to_snake_case(component) for component in _ALL_COMPONENTS]
|
|
228
|
+
_ALL_COMPONENTS += [
|
|
229
|
+
"components",
|
|
230
|
+
"desktop_only",
|
|
231
|
+
"mobile_only",
|
|
232
|
+
"tablet_only",
|
|
233
|
+
"mobile_and_tablet",
|
|
234
|
+
"tablet_and_desktop",
|
|
235
|
+
"selected_files",
|
|
236
|
+
"clear_selected_files",
|
|
237
|
+
"EditorOptions",
|
|
238
|
+
]
|
|
239
|
+
|
|
240
|
+
_MAPPING = {
|
|
241
|
+
"reflex.admin": ["admin", "AdminDash"],
|
|
242
|
+
"reflex.app": ["app", "App", "UploadFile"],
|
|
243
|
+
"reflex.base": ["base", "Base"],
|
|
244
|
+
"reflex.compiler": ["compiler"],
|
|
245
|
+
"reflex.compiler.utils": ["get_asset_path"],
|
|
246
|
+
"reflex.components": _ALL_COMPONENTS,
|
|
247
|
+
"reflex.components.component": ["memo"],
|
|
248
|
+
"reflex.components.graphing": ["recharts"],
|
|
249
|
+
"reflex.config": ["config", "Config", "DBConfig"],
|
|
250
|
+
"reflex.constants": ["constants", "Env"],
|
|
251
|
+
"reflex.el": ["el"],
|
|
252
|
+
"reflex.event": [
|
|
253
|
+
"event",
|
|
254
|
+
"EventChain",
|
|
255
|
+
"background",
|
|
256
|
+
"call_script",
|
|
257
|
+
"clear_local_storage",
|
|
258
|
+
"console_log",
|
|
259
|
+
"download",
|
|
260
|
+
"prevent_default",
|
|
261
|
+
"redirect",
|
|
262
|
+
"remove_cookie",
|
|
263
|
+
"remove_local_storage",
|
|
264
|
+
"set_clipboard",
|
|
265
|
+
"set_focus",
|
|
266
|
+
"set_value",
|
|
267
|
+
"stop_propagation",
|
|
268
|
+
"upload_files",
|
|
269
|
+
"window_alert",
|
|
270
|
+
],
|
|
271
|
+
"reflex.middleware": ["middleware", "Middleware"],
|
|
272
|
+
"reflex.model": ["model", "session", "Model"],
|
|
273
|
+
"reflex.page": ["page"],
|
|
274
|
+
"reflex.route": ["route"],
|
|
275
|
+
"reflex.state": ["state", "var", "Cookie", "LocalStorage", "State"],
|
|
276
|
+
"reflex.style": ["style", "color_mode", "toggle_color_mode"],
|
|
277
|
+
"reflex.testing": ["testing"],
|
|
278
|
+
"reflex.utils": ["utils"],
|
|
279
|
+
"reflex.vars": ["vars", "cached_var", "Var"],
|
|
280
|
+
}
|
|
281
|
+
_MAPPING = {value: key for key, values in _MAPPING.items() for value in values}
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
def _removeprefix(text, prefix):
|
|
285
|
+
return text[text.startswith(prefix) and len(prefix) :]
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
__all__ = [_removeprefix(mod, "reflex.") for mod in _MAPPING]
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
def __getattr__(name: str) -> Type:
|
|
292
|
+
"""Lazy load all modules.
|
|
293
|
+
|
|
294
|
+
Args:
|
|
295
|
+
name: name of the module to load.
|
|
296
|
+
|
|
297
|
+
Returns:
|
|
298
|
+
The module or the attribute of the module.
|
|
299
|
+
|
|
300
|
+
Raises:
|
|
301
|
+
AttributeError: If the module or the attribute does not exist.
|
|
302
|
+
"""
|
|
303
|
+
try:
|
|
304
|
+
# Check for import of a module that is not in the mapping.
|
|
305
|
+
if name not in _MAPPING:
|
|
306
|
+
# If the name does not start with reflex, add it.
|
|
307
|
+
if not name.startswith("reflex") and name != "__all__":
|
|
308
|
+
name = f"reflex.{name}"
|
|
309
|
+
return importlib.import_module(name)
|
|
310
|
+
|
|
311
|
+
# Import the module.
|
|
312
|
+
module = importlib.import_module(_MAPPING[name])
|
|
313
|
+
|
|
314
|
+
# Get the attribute from the module if the name is not the module itself.
|
|
315
|
+
return (
|
|
316
|
+
getattr(module, name) if name != _MAPPING[name].rsplit(".")[-1] else module
|
|
317
|
+
)
|
|
318
|
+
except ModuleNotFoundError:
|
|
319
|
+
raise AttributeError(f"module 'reflex' has no attribute {name}") from None
|