reflex 0.5.0a1__tar.gz → 0.5.0a3__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.0a1 → reflex-0.5.0a3}/PKG-INFO +1 -1
- {reflex-0.5.0a1 → reflex-0.5.0a3}/pyproject.toml +1 -1
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/demo.py +1 -1
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +12 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/component.py +1 -5
- reflex-0.5.0a3/reflex/components/core/foreach.py +130 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/accordion.py +128 -94
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/accordion.pyi +25 -12
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/form.py +1 -1
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/color_mode.py +25 -1
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/color_mode.pyi +178 -1
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/custom_components/custom_components.py +2 -1
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/style.py +5 -2
- reflex-0.5.0a1/reflex/components/core/foreach.py +0 -104
- {reflex-0.5.0a1 → reflex-0.5.0a3}/LICENSE +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/README.md +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/.gitignore +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/assets/favicon.ico +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/assets/github.svg +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/assets/icon.svg +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/assets/logo.svg +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/assets/paneleft.svg +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/pages/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/pages/chatapp.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/pages/datatable.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/pages/forms.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/pages/graphing.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/pages/home.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/sidebar.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/state.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/states/form_state.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/states/pie_state.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/styles.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/webui/components/chat.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/webui/components/loading_icon.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/webui/components/modal.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/webui/state.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/apps/demo/code/webui/styles.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/next.config.js +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/styles/tailwind.css +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/.templates/web/utils/state.js +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/__init__.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/__main__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/admin.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/app.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/app_module_for_backend.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/base.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/compiler/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/compiler/compiler.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/compiler/templates.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/compiler/utils.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/app_wrap.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/bare.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/body.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/body.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/document.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/document.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/fragment.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/head.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/head.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/link.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/link.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/meta.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/script.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/base/script.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/base.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/base.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/badge.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/badge.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/code.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/code.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/divider.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/divider.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/keyboard_key.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/keyboard_key.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/list.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/list.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/stat.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/stat.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/table.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/table.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/tag.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/datadisplay/tag.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/disclosure/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/disclosure/accordion.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/disclosure/accordion.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/disclosure/tabs.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/disclosure/tabs.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/disclosure/transition.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/disclosure/transition.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/disclosure/visuallyhidden.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/disclosure/visuallyhidden.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/feedback/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/feedback/alert.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/feedback/alert.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/feedback/circularprogress.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/feedback/circularprogress.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/feedback/progress.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/feedback/progress.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/feedback/skeleton.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/feedback/skeleton.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/feedback/spinner.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/feedback/spinner.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/button.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/button.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/checkbox.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/checkbox.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/colormodeswitch.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/colormodeswitch.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/date_picker.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/date_picker.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/date_time_picker.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/date_time_picker.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/editable.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/editable.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/email.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/email.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/form.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/form.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/iconbutton.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/iconbutton.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/input.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/input.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/multiselect.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/numberinput.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/numberinput.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/password.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/password.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/pininput.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/pininput.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/radio.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/radio.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/rangeslider.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/rangeslider.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/select.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/select.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/slider.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/slider.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/switch.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/switch.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/textarea.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/textarea.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/time_picker.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/forms/time_picker.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/aspect_ratio.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/aspect_ratio.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/box.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/box.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/card.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/card.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/center.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/center.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/container.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/container.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/flex.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/flex.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/grid.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/grid.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/spacer.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/spacer.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/stack.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/stack.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/wrap.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/layout/wrap.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/media/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/media/avatar.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/media/avatar.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/media/icon.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/media/icon.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/media/image.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/media/image.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/navigation/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/navigation/breadcrumb.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/navigation/breadcrumb.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/navigation/link.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/navigation/link.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/navigation/linkoverlay.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/navigation/linkoverlay.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/navigation/stepper.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/navigation/stepper.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/alertdialog.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/alertdialog.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/drawer.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/drawer.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/menu.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/menu.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/modal.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/modal.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/popover.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/popover.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/tooltip.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/overlay/tooltip.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/typography/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/typography/heading.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/typography/heading.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/typography/highlight.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/typography/highlight.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/typography/span.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/typography/span.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/typography/text.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/chakra/typography/text.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/banner.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/banner.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/client_side_routing.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/colors.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/cond.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/debounce.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/debounce.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/html.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/html.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/match.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/responsive.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/upload.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/core/upload.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/datadisplay/code.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/datadisplay/code.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/datadisplay/dataeditor.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/datadisplay/dataeditor.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/element.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/element.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/forms.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/forms.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/media.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/media.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/metadata.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/metadata.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/gridjs/datatable.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/gridjs/datatable.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/literals.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/lucide/icon.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/markdown/markdown.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/markdown/markdown.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/media/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/media/icon.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/moment/moment.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/moment/moment.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/next/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/next/base.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/next/base.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/next/image.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/next/image.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/next/link.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/next/link.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/next/video.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/next/video.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/plotly/plotly.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/drawer.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/form.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/primitives/slider.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/base.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/base.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/alert_dialog.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/checkbox.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/checkbox.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/checkbox_group.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/context_menu.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/dialog.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/dropdown_menu.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/hover_card.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/icon_button.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/icon_button.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/popover.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/radio_group.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/radio_group.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/segmented_control.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/select.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/select.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/separator.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/slider.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/slider.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/switch.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/tabs.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/text_area.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/text_field.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/text_field.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/components/tooltip.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/container.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/list.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/list.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/section.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/link.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/react_player/audio.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/react_player/react_player.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/react_player/video.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/react_player/video.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/recharts/cartesian.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/recharts/cartesian.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/recharts/charts.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/recharts/charts.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/recharts/general.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/recharts/general.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/recharts/polar.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/recharts/polar.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/recharts/recharts.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/sonner/toast.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/sonner/toast.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/suneditor/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/suneditor/editor.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/suneditor/editor.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/tags/iter_tag.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/tags/tag.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/config.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/config.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/constants/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/constants/base.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/constants/base.pyi +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/constants/colors.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/constants/compiler.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/constants/config.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/constants/custom_components.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/constants/event.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/constants/installer.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/constants/route.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/constants/style.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/event.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/experimental/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/experimental/hooks.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/experimental/layout.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/experimental/misc.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/middleware/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/middleware/middleware.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/model.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/page.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/reflex.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/route.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/state.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/testing.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/__init__.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/build.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/compat.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/console.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/exceptions.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/exec.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/export.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/format.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/imports.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/path_ops.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/prerequisites.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/processes.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/serializers.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/telemetry.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/types.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/utils/watch.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/vars.py +0 -0
- {reflex-0.5.0a1 → reflex-0.5.0a3}/reflex/vars.pyi +0 -0
|
@@ -44,7 +44,7 @@ def template(main_content: Callable[[], rx.Component]) -> rx.Component:
|
|
|
44
44
|
),
|
|
45
45
|
rx.chakra.menu_item(
|
|
46
46
|
rx.chakra.link(
|
|
47
|
-
"Contact", href="mailto:founders
|
|
47
|
+
"Contact", href="mailto:founders@reflex.dev", width="100%"
|
|
48
48
|
)
|
|
49
49
|
),
|
|
50
50
|
),
|
|
@@ -17,4 +17,16 @@ module.exports = {
|
|
|
17
17
|
{% if darkMode is defined %}
|
|
18
18
|
darkMode: {{darkMode|json_dumps}},
|
|
19
19
|
{% endif %}
|
|
20
|
+
{% if corePlugins is defined %}
|
|
21
|
+
corePlugins: {{corePlugins|json_dumps}},
|
|
22
|
+
{% endif %}
|
|
23
|
+
{% if important is defined %}
|
|
24
|
+
important: {{important|json_dumps}},
|
|
25
|
+
{% endif %}
|
|
26
|
+
{% if prefix is defined %}
|
|
27
|
+
prefix: {{prefix|json_dumps}},
|
|
28
|
+
{% endif %}
|
|
29
|
+
{% if separator is defined %}
|
|
30
|
+
separator: {{separator|json_dumps}},
|
|
31
|
+
{% endif %}
|
|
20
32
|
};
|
|
@@ -781,7 +781,7 @@ class Component(BaseComponent, ABC):
|
|
|
781
781
|
|
|
782
782
|
return cls(children=children, **props)
|
|
783
783
|
|
|
784
|
-
def add_style(self) ->
|
|
784
|
+
def add_style(self) -> dict[str, Any] | None:
|
|
785
785
|
"""Add style to the component.
|
|
786
786
|
|
|
787
787
|
Downstream components can override this method to return a style dict
|
|
@@ -801,20 +801,16 @@ class Component(BaseComponent, ABC):
|
|
|
801
801
|
The style to add.
|
|
802
802
|
"""
|
|
803
803
|
styles = []
|
|
804
|
-
vars = []
|
|
805
804
|
|
|
806
805
|
# Walk the MRO to call all `add_style` methods.
|
|
807
806
|
for base in self._iter_parent_classes_with_method("add_style"):
|
|
808
807
|
s = base.add_style(self) # type: ignore
|
|
809
808
|
if s is not None:
|
|
810
809
|
styles.append(s)
|
|
811
|
-
vars.append(s._var_data)
|
|
812
810
|
|
|
813
811
|
_style = Style()
|
|
814
812
|
for s in reversed(styles):
|
|
815
813
|
_style.update(s)
|
|
816
|
-
|
|
817
|
-
_style._var_data = VarData.merge(*vars)
|
|
818
814
|
return _style
|
|
819
815
|
|
|
820
816
|
def _get_component_style(self, styles: ComponentStyle) -> Style | None:
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
"""Create a list of components from an iterable."""
|
|
2
|
+
from __future__ import annotations
|
|
3
|
+
|
|
4
|
+
import inspect
|
|
5
|
+
from typing import Any, Callable, Iterable
|
|
6
|
+
|
|
7
|
+
from reflex.components.base.fragment import Fragment
|
|
8
|
+
from reflex.components.component import Component
|
|
9
|
+
from reflex.components.tags import IterTag
|
|
10
|
+
from reflex.constants import MemoizationMode
|
|
11
|
+
from reflex.utils import console
|
|
12
|
+
from reflex.vars import Var
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class ForeachVarError(TypeError):
|
|
16
|
+
"""Raised when the iterable type is Any."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ForeachRenderError(TypeError):
|
|
20
|
+
"""Raised when there is an error with the foreach render function."""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Foreach(Component):
|
|
24
|
+
"""A component that takes in an iterable and a render function and renders a list of components."""
|
|
25
|
+
|
|
26
|
+
_memoization_mode = MemoizationMode(recursive=False)
|
|
27
|
+
|
|
28
|
+
# The iterable to create components from.
|
|
29
|
+
iterable: Var[Iterable]
|
|
30
|
+
|
|
31
|
+
# A function from the render args to the component.
|
|
32
|
+
render_fn: Callable = Fragment.create
|
|
33
|
+
|
|
34
|
+
@classmethod
|
|
35
|
+
def create(
|
|
36
|
+
cls,
|
|
37
|
+
iterable: Var[Iterable] | Iterable,
|
|
38
|
+
render_fn: Callable,
|
|
39
|
+
**props,
|
|
40
|
+
) -> Foreach:
|
|
41
|
+
"""Create a foreach component.
|
|
42
|
+
|
|
43
|
+
Args:
|
|
44
|
+
iterable: The iterable to create components from.
|
|
45
|
+
render_fn: A function from the render args to the component.
|
|
46
|
+
**props: The attributes to pass to each child component (deprecated).
|
|
47
|
+
|
|
48
|
+
Returns:
|
|
49
|
+
The foreach component.
|
|
50
|
+
|
|
51
|
+
Raises:
|
|
52
|
+
ForeachVarError: If the iterable is of type Any.
|
|
53
|
+
"""
|
|
54
|
+
if props:
|
|
55
|
+
console.deprecate(
|
|
56
|
+
feature_name="Passing props to rx.foreach",
|
|
57
|
+
reason="it does not have the intended effect and may be confusing",
|
|
58
|
+
deprecation_version="0.5.0",
|
|
59
|
+
removal_version="0.6.0",
|
|
60
|
+
)
|
|
61
|
+
iterable = Var.create_safe(iterable)
|
|
62
|
+
if iterable._var_type == Any:
|
|
63
|
+
raise ForeachVarError(
|
|
64
|
+
f"Could not foreach over var `{iterable._var_full_name}` of type Any. "
|
|
65
|
+
"(If you are trying to foreach over a state var, add a type annotation to the var). "
|
|
66
|
+
"See https://reflex.dev/docs/library/layout/foreach/"
|
|
67
|
+
)
|
|
68
|
+
component = cls(
|
|
69
|
+
iterable=iterable,
|
|
70
|
+
render_fn=render_fn,
|
|
71
|
+
)
|
|
72
|
+
# Keep a ref to a rendered component to determine correct imports/hooks/styles.
|
|
73
|
+
component.children = [component._render().render_component()]
|
|
74
|
+
return component
|
|
75
|
+
|
|
76
|
+
def _render(self) -> IterTag:
|
|
77
|
+
props = {}
|
|
78
|
+
|
|
79
|
+
render_sig = inspect.signature(self.render_fn)
|
|
80
|
+
params = list(render_sig.parameters.values())
|
|
81
|
+
|
|
82
|
+
# Validate the render function signature.
|
|
83
|
+
if len(params) == 0 or len(params) > 2:
|
|
84
|
+
raise ForeachRenderError(
|
|
85
|
+
"Expected 1 or 2 parameters in foreach render function, got "
|
|
86
|
+
f"{[p.name for p in params]}. See https://reflex.dev/docs/library/layout/foreach/"
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
if len(params) >= 1:
|
|
90
|
+
# Determine the arg var name based on the params accepted by render_fn.
|
|
91
|
+
props["arg_var_name"] = params[0].name
|
|
92
|
+
|
|
93
|
+
if len(params) == 2:
|
|
94
|
+
# Determine the index var name based on the params accepted by render_fn.
|
|
95
|
+
props["index_var_name"] = params[1].name
|
|
96
|
+
else:
|
|
97
|
+
# Otherwise, use a deterministic index, based on the render function bytecode.
|
|
98
|
+
code_hash = (
|
|
99
|
+
hash(self.render_fn.__code__)
|
|
100
|
+
.to_bytes(
|
|
101
|
+
length=8,
|
|
102
|
+
byteorder="big",
|
|
103
|
+
signed=True,
|
|
104
|
+
)
|
|
105
|
+
.hex()
|
|
106
|
+
)
|
|
107
|
+
props["index_var_name"] = f"index_{code_hash}"
|
|
108
|
+
|
|
109
|
+
return IterTag(
|
|
110
|
+
iterable=self.iterable,
|
|
111
|
+
render_fn=self.render_fn,
|
|
112
|
+
children=self.children,
|
|
113
|
+
**props,
|
|
114
|
+
)
|
|
115
|
+
|
|
116
|
+
def render(self):
|
|
117
|
+
"""Render the component.
|
|
118
|
+
|
|
119
|
+
Returns:
|
|
120
|
+
The dictionary for template of component.
|
|
121
|
+
"""
|
|
122
|
+
tag = self._render()
|
|
123
|
+
|
|
124
|
+
return dict(
|
|
125
|
+
tag,
|
|
126
|
+
iterable_state=tag.iterable._var_full_name,
|
|
127
|
+
arg_name=tag.arg_var_name,
|
|
128
|
+
arg_index=tag.get_index_var_arg(),
|
|
129
|
+
iterable_type=tag.iterable._var_type.mro()[0].__name__,
|
|
130
|
+
)
|
|
@@ -6,9 +6,10 @@ from typing import Any, Dict, List, Literal, Optional, Union
|
|
|
6
6
|
|
|
7
7
|
from reflex.components.component import Component, ComponentNamespace
|
|
8
8
|
from reflex.components.core.colors import color
|
|
9
|
+
from reflex.components.core.cond import cond
|
|
9
10
|
from reflex.components.lucide.icon import Icon
|
|
10
11
|
from reflex.components.radix.primitives.base import RadixPrimitiveComponent
|
|
11
|
-
from reflex.components.radix.themes.base import LiteralAccentColor
|
|
12
|
+
from reflex.components.radix.themes.base import LiteralAccentColor, LiteralRadius
|
|
12
13
|
from reflex.style import Style
|
|
13
14
|
from reflex.utils import imports
|
|
14
15
|
from reflex.vars import Var, get_uuid_string_var
|
|
@@ -19,6 +20,32 @@ LiteralAccordionOrientation = Literal["vertical", "horizontal"]
|
|
|
19
20
|
LiteralAccordionVariant = Literal["classic", "soft", "surface", "outline", "ghost"]
|
|
20
21
|
|
|
21
22
|
DEFAULT_ANIMATION_DURATION = 250
|
|
23
|
+
DEFAULT_ANIMATION_EASING = "cubic-bezier(0.87, 0, 0.13, 1)"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def _inherited_variant_selector(
|
|
27
|
+
variant: Var[LiteralAccordionVariant] | LiteralAccordionVariant,
|
|
28
|
+
*selectors: str,
|
|
29
|
+
) -> str:
|
|
30
|
+
"""Create a multi CSS selector for targeting variant against the given selectors.
|
|
31
|
+
|
|
32
|
+
Args:
|
|
33
|
+
variant: The variant to target.
|
|
34
|
+
selectors: The selectors to apply the variant to (default &)
|
|
35
|
+
|
|
36
|
+
Returns:
|
|
37
|
+
A CSS selector that is more specific on elements that directly set the variant.
|
|
38
|
+
"""
|
|
39
|
+
if not selectors:
|
|
40
|
+
selectors = ("&",)
|
|
41
|
+
# Prefer the `data-variant` that is set directly on the selector,
|
|
42
|
+
# but also inherit the `data-variant` from any parent element.
|
|
43
|
+
return ", ".join(
|
|
44
|
+
[
|
|
45
|
+
f"{selector}[data-variant='{variant}'], *:where([data-variant='{variant}']) {selector}"
|
|
46
|
+
for selector in selectors
|
|
47
|
+
]
|
|
48
|
+
)
|
|
22
49
|
|
|
23
50
|
|
|
24
51
|
class AccordionComponent(RadixPrimitiveComponent):
|
|
@@ -30,14 +57,14 @@ class AccordionComponent(RadixPrimitiveComponent):
|
|
|
30
57
|
color_scheme: Var[LiteralAccentColor]
|
|
31
58
|
|
|
32
59
|
# The variant of the component.
|
|
33
|
-
variant: Var[LiteralAccordionVariant]
|
|
60
|
+
variant: Var[LiteralAccordionVariant]
|
|
34
61
|
|
|
35
62
|
def add_style(self) -> Style | None:
|
|
36
63
|
"""Add style to the component."""
|
|
37
64
|
if self.color_scheme is not None:
|
|
38
65
|
self.custom_attrs["data-accent-color"] = self.color_scheme
|
|
39
|
-
|
|
40
|
-
|
|
66
|
+
if self.variant is not None:
|
|
67
|
+
self.custom_attrs["data-variant"] = self.variant
|
|
41
68
|
|
|
42
69
|
def _exclude_props(self) -> list[str]:
|
|
43
70
|
return ["color_scheme", "variant"]
|
|
@@ -71,28 +98,27 @@ class AccordionRoot(AccordionComponent):
|
|
|
71
98
|
# The orientation of the accordion.
|
|
72
99
|
orientation: Var[LiteralAccordionOrientation]
|
|
73
100
|
|
|
74
|
-
# The
|
|
75
|
-
|
|
101
|
+
# The radius of the accordion corners.
|
|
102
|
+
radius: Var[LiteralRadius]
|
|
76
103
|
|
|
77
|
-
|
|
104
|
+
# The time in milliseconds to animate open and close
|
|
105
|
+
duration: Var[int] = Var.create_safe(DEFAULT_ANIMATION_DURATION)
|
|
78
106
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
"""Create the Accordion root component.
|
|
107
|
+
# The easing function to use for the animation.
|
|
108
|
+
easing: Var[str] = Var.create_safe(DEFAULT_ANIMATION_EASING)
|
|
82
109
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
**props: The properties of the component.
|
|
110
|
+
# Whether to show divider lines between items.
|
|
111
|
+
show_dividers: Var[bool]
|
|
86
112
|
|
|
87
|
-
|
|
88
|
-
The Accordion root Component.
|
|
89
|
-
"""
|
|
90
|
-
for child in children:
|
|
91
|
-
if isinstance(child, AccordionItem):
|
|
92
|
-
child.color_scheme = props.get("color_scheme") # type: ignore
|
|
93
|
-
child.variant = props.get("variant") # type: ignore
|
|
113
|
+
_valid_children: List[str] = ["AccordionItem"]
|
|
94
114
|
|
|
95
|
-
|
|
115
|
+
def _exclude_props(self) -> list[str]:
|
|
116
|
+
return super()._exclude_props() + [
|
|
117
|
+
"radius",
|
|
118
|
+
"duration",
|
|
119
|
+
"easing",
|
|
120
|
+
"show_dividers",
|
|
121
|
+
]
|
|
96
122
|
|
|
97
123
|
def get_event_triggers(self) -> Dict[str, Any]:
|
|
98
124
|
"""Get the events triggers signatures for the component.
|
|
@@ -111,30 +137,42 @@ class AccordionRoot(AccordionComponent):
|
|
|
111
137
|
Returns:
|
|
112
138
|
The style of the component.
|
|
113
139
|
"""
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
"
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
"
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
},
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
}
|
|
137
|
-
|
|
140
|
+
if self.radius is not None:
|
|
141
|
+
self.custom_attrs["data-radius"] = self.radius
|
|
142
|
+
if self.variant is None:
|
|
143
|
+
# The default variant is classic
|
|
144
|
+
self.custom_attrs["data-variant"] = "classic"
|
|
145
|
+
|
|
146
|
+
style = {
|
|
147
|
+
"border_radius": "var(--radius-4)",
|
|
148
|
+
"box_shadow": f"0 2px 10px {color('black', 1, alpha=True)}",
|
|
149
|
+
"&[data-variant='classic']": {
|
|
150
|
+
"background_color": color("accent", 9),
|
|
151
|
+
"box_shadow": f"0 2px 10px {color('black', 4, alpha=True)}",
|
|
152
|
+
},
|
|
153
|
+
"&[data-variant='soft']": {
|
|
154
|
+
"background_color": color("accent", 3),
|
|
155
|
+
},
|
|
156
|
+
"&[data-variant='outline']": {
|
|
157
|
+
"border": f"1px solid {color('accent', 6)}",
|
|
158
|
+
},
|
|
159
|
+
"&[data-variant='surface']": {
|
|
160
|
+
"border": f"1px solid {color('accent', 6)}",
|
|
161
|
+
"background_color": "var(--accent-surface)",
|
|
162
|
+
},
|
|
163
|
+
"&[data-variant='ghost']": {
|
|
164
|
+
"background_color": "none",
|
|
165
|
+
"box_shadow": "None",
|
|
166
|
+
},
|
|
167
|
+
"--animation-duration": f"{self.duration}ms",
|
|
168
|
+
"--animation-easing": self.easing,
|
|
169
|
+
}
|
|
170
|
+
if self.show_dividers is not None:
|
|
171
|
+
style["--divider-px"] = cond(self.show_dividers, "1px", "0")
|
|
172
|
+
else:
|
|
173
|
+
style["&[data-variant='outline']"]["--divider-px"] = "1px"
|
|
174
|
+
style["&[data-variant='surface']"]["--divider-px"] = "1px"
|
|
175
|
+
return Style(style)
|
|
138
176
|
|
|
139
177
|
|
|
140
178
|
class AccordionItem(AccordionComponent):
|
|
@@ -185,23 +223,28 @@ class AccordionItem(AccordionComponent):
|
|
|
185
223
|
):
|
|
186
224
|
cls_name = f"{cls_name} AccordionItem"
|
|
187
225
|
|
|
226
|
+
color_scheme = props.get("color_scheme")
|
|
227
|
+
variant = props.get("variant")
|
|
228
|
+
|
|
188
229
|
if (header is not None) and (content is not None):
|
|
189
230
|
children = [
|
|
190
231
|
AccordionHeader.create(
|
|
191
232
|
AccordionTrigger.create(
|
|
192
233
|
header,
|
|
193
234
|
AccordionIcon.create(
|
|
194
|
-
color_scheme=
|
|
195
|
-
variant=
|
|
235
|
+
color_scheme=color_scheme,
|
|
236
|
+
variant=variant,
|
|
196
237
|
),
|
|
197
|
-
color_scheme=
|
|
198
|
-
variant=
|
|
238
|
+
color_scheme=color_scheme,
|
|
239
|
+
variant=variant,
|
|
199
240
|
),
|
|
200
|
-
color_scheme=
|
|
201
|
-
variant=
|
|
241
|
+
color_scheme=color_scheme,
|
|
242
|
+
variant=variant,
|
|
202
243
|
),
|
|
203
244
|
AccordionContent.create(
|
|
204
|
-
content,
|
|
245
|
+
content,
|
|
246
|
+
color_scheme=color_scheme,
|
|
247
|
+
variant=variant,
|
|
205
248
|
),
|
|
206
249
|
]
|
|
207
250
|
|
|
@@ -213,29 +256,35 @@ class AccordionItem(AccordionComponent):
|
|
|
213
256
|
Returns:
|
|
214
257
|
The style of the component.
|
|
215
258
|
"""
|
|
216
|
-
|
|
217
|
-
if isinstance(child, (AccordionHeader, AccordionContent)):
|
|
218
|
-
child.color_scheme = self.color_scheme
|
|
219
|
-
child.variant = self.variant
|
|
220
|
-
|
|
259
|
+
divider_style = f"var(--divider-px) solid {color('gray', 6, alpha=True)}"
|
|
221
260
|
return Style(
|
|
222
261
|
{
|
|
223
262
|
"overflow": "hidden",
|
|
224
263
|
"width": "100%",
|
|
225
264
|
"margin_top": "1px",
|
|
265
|
+
"border_top": divider_style,
|
|
226
266
|
"&:first-child": {
|
|
227
267
|
"margin_top": 0,
|
|
228
|
-
"
|
|
229
|
-
"
|
|
268
|
+
"border_top": 0,
|
|
269
|
+
"border_top_left_radius": "var(--radius-4)",
|
|
270
|
+
"border_top_right_radius": "var(--radius-4)",
|
|
230
271
|
},
|
|
231
272
|
"&:last-child": {
|
|
232
|
-
"border_bottom_left_radius": "
|
|
233
|
-
"border_bottom_right_radius": "
|
|
273
|
+
"border_bottom_left_radius": "var(--radius-4)",
|
|
274
|
+
"border_bottom_right_radius": "var(--radius-4)",
|
|
234
275
|
},
|
|
235
276
|
"&:focus-within": {
|
|
236
277
|
"position": "relative",
|
|
237
278
|
"z_index": 1,
|
|
238
279
|
},
|
|
280
|
+
_inherited_variant_selector("ghost", "&:first-child"): {
|
|
281
|
+
"border_radius": 0,
|
|
282
|
+
"border_top": divider_style,
|
|
283
|
+
},
|
|
284
|
+
_inherited_variant_selector("ghost", "&:last-child"): {
|
|
285
|
+
"border_radius": 0,
|
|
286
|
+
"border_bottom": divider_style,
|
|
287
|
+
},
|
|
239
288
|
}
|
|
240
289
|
)
|
|
241
290
|
|
|
@@ -271,17 +320,9 @@ class AccordionHeader(AccordionComponent):
|
|
|
271
320
|
Returns:
|
|
272
321
|
The style of the component.
|
|
273
322
|
"""
|
|
274
|
-
for child in self.children:
|
|
275
|
-
if isinstance(child, AccordionTrigger):
|
|
276
|
-
child.color_scheme = self.color_scheme
|
|
277
|
-
child.variant = self.variant
|
|
278
|
-
|
|
279
323
|
return Style({"display": "flex"})
|
|
280
324
|
|
|
281
325
|
|
|
282
|
-
cubic_bezier = "cubic-bezier(0.87, 0, 0.13, 1)"
|
|
283
|
-
|
|
284
|
-
|
|
285
326
|
class AccordionTrigger(AccordionComponent):
|
|
286
327
|
"""An accordion component."""
|
|
287
328
|
|
|
@@ -313,24 +354,18 @@ class AccordionTrigger(AccordionComponent):
|
|
|
313
354
|
Returns:
|
|
314
355
|
The style of the component.
|
|
315
356
|
"""
|
|
316
|
-
for child in self.children:
|
|
317
|
-
if isinstance(child, AccordionIcon):
|
|
318
|
-
child.color_scheme = self.color_scheme
|
|
319
|
-
child.variant = self.variant
|
|
320
|
-
|
|
321
357
|
return Style(
|
|
322
358
|
{
|
|
323
359
|
"color": color("accent", 11),
|
|
360
|
+
"font_size": "1.1em",
|
|
324
361
|
"line_height": 1,
|
|
325
|
-
"font_size": "15px",
|
|
326
362
|
"justify_content": "space-between",
|
|
327
363
|
"align_items": "center",
|
|
328
364
|
"flex": 1,
|
|
329
365
|
"display": "flex",
|
|
330
|
-
"padding": "
|
|
331
|
-
"height": "45px",
|
|
332
|
-
"font_family": "inherit",
|
|
366
|
+
"padding": "var(--space-3) var(--space-4)",
|
|
333
367
|
"width": "100%",
|
|
368
|
+
"box_shadow": f"0 var(--divider-px) 0 {color('gray', 6, alpha=True)}",
|
|
334
369
|
"&[data-state='open'] > .AccordionChevron": {
|
|
335
370
|
"transform": "rotate(180deg)",
|
|
336
371
|
},
|
|
@@ -338,17 +373,15 @@ class AccordionTrigger(AccordionComponent):
|
|
|
338
373
|
"background_color": color("accent", 4),
|
|
339
374
|
},
|
|
340
375
|
"& > .AccordionChevron": {
|
|
341
|
-
"transition": f"transform
|
|
376
|
+
"transition": f"transform var(--animation-duration) var(--animation-easing)",
|
|
342
377
|
},
|
|
343
|
-
"
|
|
344
|
-
"color":
|
|
345
|
-
"box_shadow": color("accent", 11),
|
|
378
|
+
_inherited_variant_selector("classic"): {
|
|
379
|
+
"color": "var(--accent-contrast)",
|
|
346
380
|
"&:hover": {
|
|
347
381
|
"background_color": color("accent", 10),
|
|
348
382
|
},
|
|
349
383
|
"& > .AccordionChevron": {
|
|
350
|
-
"color":
|
|
351
|
-
"transition": f"transform {DEFAULT_ANIMATION_DURATION}ms {cubic_bezier}",
|
|
384
|
+
"color": "var(--accent-contrast)",
|
|
352
385
|
},
|
|
353
386
|
},
|
|
354
387
|
}
|
|
@@ -444,30 +477,31 @@ to {
|
|
|
444
477
|
The style of the component.
|
|
445
478
|
"""
|
|
446
479
|
slideDown = Var.create(
|
|
447
|
-
f"${{slideDown}}
|
|
480
|
+
f"${{slideDown}} var(--animation-duration) var(--animation-easing)",
|
|
448
481
|
_var_is_string=True,
|
|
449
482
|
)
|
|
450
483
|
|
|
451
484
|
slideUp = Var.create(
|
|
452
|
-
f"${{slideUp}}
|
|
485
|
+
f"${{slideUp}} var(--animation-duration) var(--animation-easing)",
|
|
453
486
|
_var_is_string=True,
|
|
454
487
|
)
|
|
455
488
|
|
|
456
489
|
return Style(
|
|
457
490
|
{
|
|
458
491
|
"overflow": "hidden",
|
|
459
|
-
"font_size": "10px",
|
|
460
492
|
"color": color("accent", 11),
|
|
461
|
-
"
|
|
462
|
-
|
|
493
|
+
"padding_x": "var(--space-4)",
|
|
494
|
+
# Apply before and after content to avoid height animation jank.
|
|
495
|
+
"&:before, &:after": {
|
|
496
|
+
"content": "' '",
|
|
497
|
+
"display": "block",
|
|
498
|
+
"height": "var(--space-3)",
|
|
499
|
+
},
|
|
463
500
|
"&[data-state='open']": {"animation": slideDown},
|
|
464
501
|
"&[data-state='closed']": {"animation": slideUp},
|
|
465
|
-
"
|
|
466
|
-
"color":
|
|
467
|
-
"background_color": color("accent", 9),
|
|
502
|
+
_inherited_variant_selector("classic"): {
|
|
503
|
+
"color": "var(--accent-contrast)",
|
|
468
504
|
},
|
|
469
|
-
"&[data-variant='outline']": {"background_color": "transparent"},
|
|
470
|
-
"&[data-variant='ghost']": {"background_color": "transparent"},
|
|
471
505
|
}
|
|
472
506
|
)
|
|
473
507
|
|