reflex 0.5.4a3__tar.gz → 0.5.5a1__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.4a3 → reflex-0.5.5a1}/PKG-INFO +2 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/pyproject.toml +7 -5
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/demo.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/pages/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/pages/datatable.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/pages/forms.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/pages/graphing.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/pages/home.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/styles.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/webui/components/loading_icon.py +1 -8
- reflex-0.5.5a1/reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +36 -0
- reflex-0.5.5a1/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +35 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/web/utils/state.js +73 -7
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/__init__.py +3 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/__init__.pyi +3 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/admin.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/app.py +8 -6
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/app_module_for_backend.py +2 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/base.py +4 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/compiler/compiler.py +4 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/compiler/templates.py +2 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/compiler/utils.py +58 -35
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/app_wrap.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/fragment.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/link.py +0 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/script.py +11 -15
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/script.pyi +1 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/base.py +15 -13
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/base.pyi +3 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/code.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/divider.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/table.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/table.pyi +3 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/tag.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/disclosure/transition.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/feedback/circularprogress.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/button.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/checkbox.py +4 -13
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/checkbox.pyi +1 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/colormodeswitch.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/editable.py +13 -16
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/editable.pyi +1 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/form.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/input.py +22 -21
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/input.pyi +4 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/multiselect.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/numberinput.py +3 -12
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/numberinput.pyi +1 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/pininput.py +8 -14
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/pininput.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/radio.py +4 -13
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/radio.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/rangeslider.py +10 -13
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/rangeslider.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/select.py +4 -12
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/select.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/slider.py +10 -13
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/slider.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/switch.py +4 -13
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/switch.pyi +1 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/textarea.py +16 -17
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/textarea.pyi +1 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/media/avatar.py +4 -12
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/media/avatar.pyi +1 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/media/icon.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/media/image.py +7 -11
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/media/image.pyi +2 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/navigation/link.py +8 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/navigation/link.pyi +2 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/alertdialog.py +12 -14
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/alertdialog.pyi +1 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/drawer.py +12 -14
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/drawer.pyi +1 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/menu.py +7 -11
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/menu.pyi +2 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/modal.py +13 -13
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/modal.pyi +2 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/popover.py +6 -12
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/popover.pyi +1 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/tooltip.py +7 -13
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/tooltip.pyi +1 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/typography/heading.py +0 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/typography/span.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/typography/text.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/component.py +70 -43
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/banner.py +27 -24
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/banner.pyi +6 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/client_side_routing.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/cond.py +19 -17
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/debounce.py +4 -11
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/debounce.pyi +1 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/foreach.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/html.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/match.py +9 -6
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/upload.py +26 -25
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/upload.pyi +3 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/datadisplay/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/datadisplay/code.py +27 -23
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/datadisplay/code.pyi +4 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/datadisplay/dataeditor.py +73 -80
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/datadisplay/dataeditor.pyi +52 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/datadisplay/logo.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/__init__.pyi +8 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/element.py +0 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/__init__.py +5 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/__init__.pyi +12 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/base.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/forms.py +44 -61
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/forms.pyi +4 -6
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/inline.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/media.py +53 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/media.pyi +428 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/metadata.py +11 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/metadata.pyi +80 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/other.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/scripts.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/tables.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/typography.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/gridjs/datatable.py +9 -6
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/gridjs/datatable.pyi +4 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/markdown/markdown.py +36 -41
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/markdown/markdown.pyi +4 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/media/icon.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/moment/moment.py +11 -17
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/moment/moment.pyi +4 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/next/base.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/next/image.py +6 -11
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/next/image.pyi +2 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/plotly/plotly.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/props.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/accordion.py +7 -15
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/accordion.pyi +7 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/base.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/drawer.py +17 -27
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/drawer.pyi +2 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/form.py +4 -12
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/form.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/slider.py +6 -11
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/slider.pyi +2 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/base.py +3 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/base.pyi +3 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/color_mode.py +31 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/color_mode.pyi +10 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/alert_dialog.py +13 -24
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/alert_dialog.pyi +2 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/aspect_ratio.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/card.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/checkbox.py +6 -22
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/checkbox.pyi +2 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/checkbox_group.py +15 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/checkbox_group.pyi +10 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/context_menu.py +29 -38
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/context_menu.pyi +2 -5
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/dialog.py +18 -26
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/dialog.pyi +2 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/dropdown_menu.py +32 -57
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/dropdown_menu.pyi +2 -7
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/hover_card.py +5 -12
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/hover_card.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/icon_button.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/icon_button.pyi +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/inset.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/popover.py +22 -27
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/popover.pyi +2 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/radio_group.py +25 -17
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/radio_group.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/scroll_area.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/segmented_control.py +18 -5
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/segmented_control.pyi +16 -7
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/select.py +13 -23
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/select.pyi +1 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/separator.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/slider.py +7 -12
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/slider.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/switch.py +5 -12
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/switch.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/table.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/tabs.py +4 -11
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/tabs.pyi +2 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/text_area.py +19 -18
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/text_area.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/text_field.py +19 -18
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/text_field.pyi +3 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/tooltip.py +10 -13
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/tooltip.pyi +2 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/box.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/container.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/list.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/list.pyi +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/section.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/base.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/blockquote.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/code.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/heading.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/link.py +8 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/link.pyi +2 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/react_player/audio.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/react_player/audio.pyi +48 -0
- reflex-0.5.5a1/reflex/components/react_player/react_player.py +94 -0
- reflex-0.5.5a1/reflex/components/react_player/react_player.pyi +154 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/react_player/video.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/react_player/video.pyi +48 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/__init__.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/cartesian.py +264 -74
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/cartesian.pyi +573 -58
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/charts.py +68 -78
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/charts.pyi +373 -156
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/general.py +52 -20
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/general.pyi +52 -6
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/polar.py +30 -18
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/polar.pyi +66 -5
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/recharts.py +5 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/recharts.pyi +2 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/sonner/toast.py +2 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/sonner/toast.pyi +1 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/suneditor/editor.py +39 -26
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/suneditor/editor.pyi +4 -4
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/tags/iter_tag.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/constants/__init__.py +3 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/constants/base.py +20 -21
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/constants/compiler.py +3 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/constants/config.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/constants/event.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/constants/installer.py +3 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/constants/style.py +2 -8
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/event.py +36 -6
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/experimental/assets.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/experimental/client_state.py +9 -3
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/experimental/hooks.py +1 -0
- reflex-0.5.5a1/reflex/experimental/misc.py +21 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/middleware/hydrate_middleware.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/middleware/middleware.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/state.py +38 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/style.py +67 -20
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/testing.py +6 -2
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/build.py +76 -72
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/exec.py +17 -9
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/export.py +13 -9
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/imports.py +34 -5
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/lazy_loader.py +1 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/path_ops.py +39 -33
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/prerequisites.py +35 -27
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/processes.py +1 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/serializers.py +3 -6
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/watch.py +3 -1
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/vars.py +26 -10
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/vars.pyi +3 -3
- reflex-0.5.4a3/reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -21
- reflex-0.5.4a3/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -21
- reflex-0.5.4a3/reflex/components/react_player/react_player.py +0 -45
- reflex-0.5.4a3/reflex/components/react_player/react_player.pyi +0 -105
- reflex-0.5.4a3/reflex/experimental/misc.py +0 -12
- {reflex-0.5.4a3 → reflex-0.5.5a1}/LICENSE +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/README.md +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/.gitignore +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/assets/favicon.ico +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/assets/github.svg +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/assets/icon.svg +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/assets/logo.svg +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/assets/paneleft.svg +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/pages/chatapp.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/sidebar.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/state.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/states/form_state.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/states/pie_state.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/webui/components/chat.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/webui/components/modal.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/webui/state.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/webui/styles.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/utils/context.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/web/next.config.js +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/web/styles/tailwind.css +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/__main__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/compiler/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/__init__.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/app_wrap.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/bare.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/body.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/body.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/document.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/document.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/fragment.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/head.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/head.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/link.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/meta.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/base/meta.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/badge.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/badge.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/code.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/divider.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/keyboard_key.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/keyboard_key.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/list.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/list.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/stat.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/stat.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/datadisplay/tag.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/disclosure/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/disclosure/accordion.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/disclosure/accordion.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/disclosure/tabs.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/disclosure/tabs.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/disclosure/transition.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/disclosure/visuallyhidden.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/disclosure/visuallyhidden.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/feedback/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/feedback/alert.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/feedback/alert.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/feedback/circularprogress.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/feedback/progress.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/feedback/progress.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/feedback/skeleton.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/feedback/skeleton.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/feedback/spinner.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/feedback/spinner.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/button.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/colormodeswitch.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/date_picker.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/date_picker.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/date_time_picker.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/date_time_picker.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/email.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/email.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/form.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/iconbutton.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/iconbutton.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/password.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/password.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/time_picker.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/forms/time_picker.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/aspect_ratio.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/aspect_ratio.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/box.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/box.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/card.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/card.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/center.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/center.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/container.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/container.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/flex.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/flex.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/grid.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/grid.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/spacer.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/spacer.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/stack.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/stack.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/wrap.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/layout/wrap.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/media/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/media/icon.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/navigation/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/navigation/breadcrumb.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/navigation/breadcrumb.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/navigation/linkoverlay.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/navigation/linkoverlay.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/navigation/stepper.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/navigation/stepper.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/overlay/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/typography/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/typography/heading.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/typography/highlight.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/typography/highlight.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/typography/span.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/chakra/typography/text.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/client_side_routing.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/colors.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/html.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/core/responsive.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/element.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/base.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/inline.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/other.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/scripts.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/sectioning.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/tables.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/el/elements/typography.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/literals.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/lucide/icon.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/lucide/icon.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/media/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/next/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/next/base.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/next/link.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/next/link.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/next/video.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/next/video.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/plotly/plotly.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/__init__.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/__init__.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/base.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/primitives/progress.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/__init__.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/aspect_ratio.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/avatar.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/badge.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/button.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/callout.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/card.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/checkbox_cards.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/data_list.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/data_list.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/inset.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/progress.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/radio.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/radio_cards.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/scroll_area.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/separator.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/skeleton.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/spinner.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/components/table.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/base.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/box.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/center.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/container.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/flex.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/grid.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/section.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/spacer.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/layout/stack.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/blockquote.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/code.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/heading.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/radix/themes/typography/text.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/suneditor/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/tags/tag.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/config.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/constants/colors.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/constants/custom_components.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/constants/route.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/custom_components/custom_components.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/experimental/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/experimental/layout.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/experimental/layout.pyi +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/middleware/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/model.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/page.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/reflex.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/route.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/__init__.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/compat.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/console.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/exceptions.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/format.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/pyi_generator.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/telemetry.py +0 -0
- {reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/utils/types.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.5.
|
|
3
|
+
Version: 0.5.5a1
|
|
4
4
|
Summary: Web apps in pure Python.
|
|
5
5
|
Home-page: https://reflex.dev
|
|
6
6
|
License: Apache-2.0
|
|
@@ -21,7 +21,7 @@ Requires-Dist: build (>=1.0.3,<2.0)
|
|
|
21
21
|
Requires-Dist: charset-normalizer (>=3.3.2,<4.0)
|
|
22
22
|
Requires-Dist: dill (>=0.3.8,<0.4)
|
|
23
23
|
Requires-Dist: distro (>=1.8.0,<2.0) ; sys_platform == "linux"
|
|
24
|
-
Requires-Dist: fastapi (>=0.96.0,<
|
|
24
|
+
Requires-Dist: fastapi (>=0.96.0,<0.111.0)
|
|
25
25
|
Requires-Dist: gunicorn (>=20.1.0,<23.0)
|
|
26
26
|
Requires-Dist: httpx (>=0.25.1,<1.0)
|
|
27
27
|
Requires-Dist: jinja2 (>=3.1.2,<4.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "reflex"
|
|
3
|
-
version = "0.5.
|
|
3
|
+
version = "0.5.5a1"
|
|
4
4
|
description = "Web apps in pure Python."
|
|
5
5
|
license = "Apache-2.0"
|
|
6
6
|
authors = [
|
|
@@ -28,7 +28,7 @@ packages = [
|
|
|
28
28
|
[tool.poetry.dependencies]
|
|
29
29
|
python = "^3.8"
|
|
30
30
|
dill = ">=0.3.8,<0.4"
|
|
31
|
-
fastapi = ">=0.96.0,<
|
|
31
|
+
fastapi = ">=0.96.0,<0.111.0"
|
|
32
32
|
gunicorn = ">=20.1.0,<23.0"
|
|
33
33
|
jinja2 = ">=3.1.2,<4.0"
|
|
34
34
|
psutil = ">=5.9.4,<6.0"
|
|
@@ -73,8 +73,8 @@ darglint = ">=1.8.1,<2.0"
|
|
|
73
73
|
toml = ">=0.10.2,<1.0"
|
|
74
74
|
pytest-asyncio = ">=0.20.1,<0.22.0" # https://github.com/pytest-dev/pytest-asyncio/issues/706
|
|
75
75
|
pytest-cov = ">=4.0.0,<5.0"
|
|
76
|
-
black = "^
|
|
77
|
-
ruff = "0.
|
|
76
|
+
black = "^24.3.0"
|
|
77
|
+
ruff = "^0.4.9"
|
|
78
78
|
pandas = [
|
|
79
79
|
{version = ">=2.1.1,<3.0", python = ">=3.9,<3.13"},
|
|
80
80
|
{version = ">=1.5.3,<2.0", python = ">=3.8,<3.9"},
|
|
@@ -99,9 +99,11 @@ build-backend = "poetry.core.masonry.api"
|
|
|
99
99
|
|
|
100
100
|
[tool.ruff]
|
|
101
101
|
exclude = ["*.pyi"]
|
|
102
|
-
target-version = "
|
|
102
|
+
target-version = "py38"
|
|
103
103
|
lint.select = ["B", "D", "E", "F", "I", "SIM", "W"]
|
|
104
104
|
lint.ignore = ["B008", "D203", "D205", "D213", "D401", "D406", "D407", "E501", "F403", "F405", "F541"]
|
|
105
|
+
lint.pydocstyle.convention = "google"
|
|
106
|
+
|
|
105
107
|
[tool.ruff.lint.per-file-ignores]
|
|
106
108
|
"__init__.py" = ["F401"]
|
|
107
109
|
"tests/*.py" = ["D100", "D103", "D104", "B018"]
|
{reflex-0.5.4a3 → reflex-0.5.5a1}/reflex/.templates/apps/demo/code/webui/components/loading_icon.py
RENAMED
|
@@ -13,14 +13,7 @@ class LoadingIcon(rx.Component):
|
|
|
13
13
|
stroke_width: rx.Var[str]
|
|
14
14
|
speed: rx.Var[str]
|
|
15
15
|
height: rx.Var[str]
|
|
16
|
-
|
|
17
|
-
def get_event_triggers(self) -> dict:
|
|
18
|
-
"""Get the event triggers that pass the component's value to the handler.
|
|
19
|
-
|
|
20
|
-
Returns:
|
|
21
|
-
A dict mapping the event trigger to the var that is passed to the handler.
|
|
22
|
-
"""
|
|
23
|
-
return {"on_change": lambda status: [status]}
|
|
16
|
+
on_change: rx.EventHandler[lambda status: [status]]
|
|
24
17
|
|
|
25
18
|
|
|
26
19
|
loading_icon = LoadingIcon.create
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useColorMode as chakraUseColorMode } from "@chakra-ui/react";
|
|
2
|
+
import { useTheme } from "next-themes";
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
import { ColorModeContext, defaultColorMode } from "/utils/context.js";
|
|
5
|
+
|
|
6
|
+
export default function ChakraColorModeProvider({ children }) {
|
|
7
|
+
const { theme, resolvedTheme, setTheme } = useTheme();
|
|
8
|
+
const { colorMode, toggleColorMode } = chakraUseColorMode();
|
|
9
|
+
const [resolvedColorMode, setResolvedColorMode] = useState(colorMode);
|
|
10
|
+
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (colorMode != resolvedTheme) {
|
|
13
|
+
toggleColorMode();
|
|
14
|
+
}
|
|
15
|
+
setResolvedColorMode(resolvedTheme);
|
|
16
|
+
}, [theme, resolvedTheme]);
|
|
17
|
+
|
|
18
|
+
const rawColorMode = colorMode;
|
|
19
|
+
const setColorMode = (mode) => {
|
|
20
|
+
const allowedModes = ["light", "dark", "system"];
|
|
21
|
+
if (!allowedModes.includes(mode)) {
|
|
22
|
+
console.error(
|
|
23
|
+
`Invalid color mode "${mode}". Defaulting to "${defaultColorMode}".`
|
|
24
|
+
);
|
|
25
|
+
mode = defaultColorMode;
|
|
26
|
+
}
|
|
27
|
+
setTheme(mode);
|
|
28
|
+
};
|
|
29
|
+
return (
|
|
30
|
+
<ColorModeContext.Provider
|
|
31
|
+
value={{ rawColorMode, resolvedColorMode, toggleColorMode, setColorMode }}
|
|
32
|
+
>
|
|
33
|
+
{children}
|
|
34
|
+
</ColorModeContext.Provider>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useTheme } from "next-themes";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import { ColorModeContext, defaultColorMode } from "/utils/context.js";
|
|
4
|
+
|
|
5
|
+
export default function RadixThemesColorModeProvider({ children }) {
|
|
6
|
+
const { theme, resolvedTheme, setTheme } = useTheme();
|
|
7
|
+
const [rawColorMode, setRawColorMode] = useState(defaultColorMode);
|
|
8
|
+
const [resolvedColorMode, setResolvedColorMode] = useState("dark");
|
|
9
|
+
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
setRawColorMode(theme);
|
|
12
|
+
setResolvedColorMode(resolvedTheme);
|
|
13
|
+
}, [theme, resolvedTheme]);
|
|
14
|
+
|
|
15
|
+
const toggleColorMode = () => {
|
|
16
|
+
setTheme(resolvedTheme === "light" ? "dark" : "light");
|
|
17
|
+
};
|
|
18
|
+
const setColorMode = (mode) => {
|
|
19
|
+
const allowedModes = ["light", "dark", "system"];
|
|
20
|
+
if (!allowedModes.includes(mode)) {
|
|
21
|
+
console.error(
|
|
22
|
+
`Invalid color mode "${mode}". Defaulting to "${defaultColorMode}".`
|
|
23
|
+
);
|
|
24
|
+
mode = defaultColorMode;
|
|
25
|
+
}
|
|
26
|
+
setTheme(mode);
|
|
27
|
+
};
|
|
28
|
+
return (
|
|
29
|
+
<ColorModeContext.Provider
|
|
30
|
+
value={{ rawColorMode, resolvedColorMode, toggleColorMode, setColorMode }}
|
|
31
|
+
>
|
|
32
|
+
{children}
|
|
33
|
+
</ColorModeContext.Provider>
|
|
34
|
+
);
|
|
35
|
+
}
|
|
@@ -107,6 +107,18 @@ export const getBackendURL = (url_str) => {
|
|
|
107
107
|
return endpoint;
|
|
108
108
|
};
|
|
109
109
|
|
|
110
|
+
/**
|
|
111
|
+
* Determine if any event in the event queue is stateful.
|
|
112
|
+
*
|
|
113
|
+
* @returns True if there's any event that requires state and False if none of them do.
|
|
114
|
+
*/
|
|
115
|
+
export const isStateful = () => {
|
|
116
|
+
if (event_queue.length === 0) {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
return event_queue.some(event => event.name.startsWith("state"));
|
|
120
|
+
}
|
|
121
|
+
|
|
110
122
|
/**
|
|
111
123
|
* Apply a delta to the state.
|
|
112
124
|
* @param state The state to apply the delta to.
|
|
@@ -116,6 +128,20 @@ export const applyDelta = (state, delta) => {
|
|
|
116
128
|
return { ...state, ...delta };
|
|
117
129
|
};
|
|
118
130
|
|
|
131
|
+
/**
|
|
132
|
+
* Only Queue and process events when websocket connection exists.
|
|
133
|
+
* @param event The event to queue.
|
|
134
|
+
* @param socket The socket object to send the event on.
|
|
135
|
+
*
|
|
136
|
+
* @returns Adds event to queue and processes it if websocket exits, does nothing otherwise.
|
|
137
|
+
*/
|
|
138
|
+
export const queueEventIfSocketExists = async (events, socket) => {
|
|
139
|
+
if (!socket) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
await queueEvents(events, socket);
|
|
143
|
+
}
|
|
144
|
+
|
|
119
145
|
/**
|
|
120
146
|
* Handle frontend event or send the event to the backend via Websocket.
|
|
121
147
|
* @param event The event to send.
|
|
@@ -143,18 +169,30 @@ export const applyEvent = async (event, socket) => {
|
|
|
143
169
|
|
|
144
170
|
if (event.name == "_remove_cookie") {
|
|
145
171
|
cookies.remove(event.payload.key, { ...event.payload.options });
|
|
146
|
-
|
|
172
|
+
queueEventIfSocketExists(initialEvents(), socket);
|
|
147
173
|
return false;
|
|
148
174
|
}
|
|
149
175
|
|
|
150
176
|
if (event.name == "_clear_local_storage") {
|
|
151
177
|
localStorage.clear();
|
|
152
|
-
|
|
178
|
+
queueEventIfSocketExists(initialEvents(), socket);
|
|
153
179
|
return false;
|
|
154
180
|
}
|
|
155
181
|
|
|
156
182
|
if (event.name == "_remove_local_storage") {
|
|
157
183
|
localStorage.removeItem(event.payload.key);
|
|
184
|
+
queueEventIfSocketExists(initialEvents(), socket);
|
|
185
|
+
return false;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
if (event.name == "_clear_session_storage") {
|
|
189
|
+
sessionStorage.clear();
|
|
190
|
+
queueEvents(initialEvents(), socket);
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
if (event.name == "_remove_session_storage") {
|
|
195
|
+
sessionStorage.removeItem(event.payload.key);
|
|
158
196
|
queueEvents(initialEvents(), socket);
|
|
159
197
|
return false;
|
|
160
198
|
}
|
|
@@ -249,7 +287,7 @@ export const applyRestEvent = async (event, socket) => {
|
|
|
249
287
|
let eventSent = false;
|
|
250
288
|
if (event.handler === "uploadFiles") {
|
|
251
289
|
|
|
252
|
-
if (event.payload.files === undefined || event.payload.files.length === 0){
|
|
290
|
+
if (event.payload.files === undefined || event.payload.files.length === 0) {
|
|
253
291
|
// Submit the event over the websocket to trigger the event handler.
|
|
254
292
|
return await applyEvent(Event(event.name), socket)
|
|
255
293
|
}
|
|
@@ -282,8 +320,8 @@ export const queueEvents = async (events, socket) => {
|
|
|
282
320
|
* @param socket The socket object to send the event on.
|
|
283
321
|
*/
|
|
284
322
|
export const processEvent = async (socket) => {
|
|
285
|
-
// Only proceed if the socket is up, otherwise we throw the event into the void
|
|
286
|
-
if (!socket) {
|
|
323
|
+
// Only proceed if the socket is up and no event in the queue uses state, otherwise we throw the event into the void
|
|
324
|
+
if (!socket && isStateful()) {
|
|
287
325
|
return;
|
|
288
326
|
}
|
|
289
327
|
|
|
@@ -350,9 +388,17 @@ export const connect = async (
|
|
|
350
388
|
}
|
|
351
389
|
}
|
|
352
390
|
|
|
391
|
+
const pagehideHandler = (event) => {
|
|
392
|
+
if (event.persisted && socket.current?.connected) {
|
|
393
|
+
console.log("Disconnect backend before bfcache on navigation");
|
|
394
|
+
socket.current.disconnect();
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
|
|
353
398
|
// Once the socket is open, hydrate the page.
|
|
354
399
|
socket.current.on("connect", () => {
|
|
355
400
|
setConnectErrors([]);
|
|
401
|
+
window.addEventListener("pagehide", pagehideHandler);
|
|
356
402
|
});
|
|
357
403
|
|
|
358
404
|
socket.current.on("connect_error", (error) => {
|
|
@@ -362,6 +408,7 @@ export const connect = async (
|
|
|
362
408
|
// When the socket disconnects reset the event_processing flag
|
|
363
409
|
socket.current.on("disconnect", () => {
|
|
364
410
|
event_processing = false;
|
|
411
|
+
window.removeEventListener("pagehide", pagehideHandler);
|
|
365
412
|
});
|
|
366
413
|
|
|
367
414
|
// On each received message, queue the updates and events.
|
|
@@ -512,7 +559,18 @@ export const hydrateClientStorage = (client_storage) => {
|
|
|
512
559
|
}
|
|
513
560
|
}
|
|
514
561
|
}
|
|
515
|
-
if (client_storage.
|
|
562
|
+
if (client_storage.session_storage && typeof window != "undefined") {
|
|
563
|
+
for (const state_key in client_storage.session_storage) {
|
|
564
|
+
const session_options = client_storage.session_storage[state_key];
|
|
565
|
+
const session_storage_value = sessionStorage.getItem(
|
|
566
|
+
session_options.name || state_key
|
|
567
|
+
);
|
|
568
|
+
if (session_storage_value != null) {
|
|
569
|
+
client_storage_values[state_key] = session_storage_value;
|
|
570
|
+
}
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
if (client_storage.cookies || client_storage.local_storage || client_storage.session_storage) {
|
|
516
574
|
return client_storage_values;
|
|
517
575
|
}
|
|
518
576
|
return {};
|
|
@@ -552,7 +610,15 @@ const applyClientStorageDelta = (client_storage, delta) => {
|
|
|
552
610
|
) {
|
|
553
611
|
const options = client_storage.local_storage[state_key];
|
|
554
612
|
localStorage.setItem(options.name || state_key, delta[substate][key]);
|
|
613
|
+
} else if(
|
|
614
|
+
client_storage.session_storage &&
|
|
615
|
+
state_key in client_storage.session_storage &&
|
|
616
|
+
typeof window !== "undefined"
|
|
617
|
+
) {
|
|
618
|
+
const session_options = client_storage.session_storage[state_key];
|
|
619
|
+
sessionStorage.setItem(session_options.name || state_key, delta[substate][key]);
|
|
555
620
|
}
|
|
621
|
+
|
|
556
622
|
}
|
|
557
623
|
}
|
|
558
624
|
};
|
|
@@ -684,7 +750,7 @@ export const useEventLoop = (
|
|
|
684
750
|
const change_start = () => {
|
|
685
751
|
const main_state_dispatch = dispatch["state"]
|
|
686
752
|
if (main_state_dispatch !== undefined) {
|
|
687
|
-
main_state_dispatch({is_hydrated: false})
|
|
753
|
+
main_state_dispatch({ is_hydrated: false })
|
|
688
754
|
}
|
|
689
755
|
}
|
|
690
756
|
const change_complete = () => addEvents(onLoadInternalEvent());
|
|
@@ -287,12 +287,14 @@ _MAPPING: dict = {
|
|
|
287
287
|
"background",
|
|
288
288
|
"call_script",
|
|
289
289
|
"clear_local_storage",
|
|
290
|
+
"clear_session_storage",
|
|
290
291
|
"console_log",
|
|
291
292
|
"download",
|
|
292
293
|
"prevent_default",
|
|
293
294
|
"redirect",
|
|
294
295
|
"remove_cookie",
|
|
295
296
|
"remove_local_storage",
|
|
297
|
+
"remove_session_storage",
|
|
296
298
|
"set_clipboard",
|
|
297
299
|
"set_focus",
|
|
298
300
|
"scroll_to",
|
|
@@ -307,6 +309,7 @@ _MAPPING: dict = {
|
|
|
307
309
|
"var",
|
|
308
310
|
"Cookie",
|
|
309
311
|
"LocalStorage",
|
|
312
|
+
"SessionStorage",
|
|
310
313
|
"ComponentState",
|
|
311
314
|
"State",
|
|
312
315
|
],
|
|
@@ -157,12 +157,14 @@ from .event import EventHandler as EventHandler
|
|
|
157
157
|
from .event import background as background
|
|
158
158
|
from .event import call_script as call_script
|
|
159
159
|
from .event import clear_local_storage as clear_local_storage
|
|
160
|
+
from .event import clear_session_storage as clear_session_storage
|
|
160
161
|
from .event import console_log as console_log
|
|
161
162
|
from .event import download as download
|
|
162
163
|
from .event import prevent_default as prevent_default
|
|
163
164
|
from .event import redirect as redirect
|
|
164
165
|
from .event import remove_cookie as remove_cookie
|
|
165
166
|
from .event import remove_local_storage as remove_local_storage
|
|
167
|
+
from .event import remove_session_storage as remove_session_storage
|
|
166
168
|
from .event import set_clipboard as set_clipboard
|
|
167
169
|
from .event import set_focus as set_focus
|
|
168
170
|
from .event import scroll_to as scroll_to
|
|
@@ -177,6 +179,7 @@ from .model import Model as Model
|
|
|
177
179
|
from .state import var as var
|
|
178
180
|
from .state import Cookie as Cookie
|
|
179
181
|
from .state import LocalStorage as LocalStorage
|
|
182
|
+
from .state import SessionStorage as SessionStorage
|
|
180
183
|
from .state import ComponentState as ComponentState
|
|
181
184
|
from .state import State as State
|
|
182
185
|
from .style import Style as Style
|
|
@@ -176,9 +176,9 @@ class App(LifespanMixin, Base):
|
|
|
176
176
|
stylesheets: List[str] = []
|
|
177
177
|
|
|
178
178
|
# A component that is present on every page (defaults to the Connection Error banner).
|
|
179
|
-
overlay_component: Optional[
|
|
180
|
-
|
|
181
|
-
|
|
179
|
+
overlay_component: Optional[Union[Component, ComponentCallable]] = (
|
|
180
|
+
default_overlay_component
|
|
181
|
+
)
|
|
182
182
|
|
|
183
183
|
# Components to add to the head of every page.
|
|
184
184
|
head_components: List[Component] = []
|
|
@@ -541,7 +541,7 @@ class App(LifespanMixin, Base):
|
|
|
541
541
|
|
|
542
542
|
# Ensure state is enabled if this page uses state.
|
|
543
543
|
if self.state is None:
|
|
544
|
-
if on_load or component.
|
|
544
|
+
if on_load or component._has_stateful_event_triggers():
|
|
545
545
|
self._enable_state()
|
|
546
546
|
else:
|
|
547
547
|
for var in component._get_vars(include_children=True):
|
|
@@ -751,10 +751,12 @@ class App(LifespanMixin, Base):
|
|
|
751
751
|
if should_skip_compile():
|
|
752
752
|
return False
|
|
753
753
|
|
|
754
|
+
nocompile = prerequisites.get_web_dir() / constants.NOCOMPILE_FILE
|
|
755
|
+
|
|
754
756
|
# Check the nocompile file.
|
|
755
|
-
if
|
|
757
|
+
if nocompile.exists():
|
|
756
758
|
# Delete the nocompile file
|
|
757
|
-
|
|
759
|
+
nocompile.unlink()
|
|
758
760
|
return False
|
|
759
761
|
|
|
760
762
|
# By default, compile the app.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Shims the real reflex app module for running backend server (uvicorn or gunicorn).
|
|
2
2
|
Only the app attribute is explicitly exposed.
|
|
3
3
|
"""
|
|
4
|
+
|
|
4
5
|
from concurrent.futures import ThreadPoolExecutor
|
|
5
6
|
|
|
6
7
|
from reflex import constants
|
|
@@ -8,7 +9,7 @@ from reflex.utils import telemetry
|
|
|
8
9
|
from reflex.utils.exec import is_prod_mode
|
|
9
10
|
from reflex.utils.prerequisites import get_app
|
|
10
11
|
|
|
11
|
-
if
|
|
12
|
+
if constants.CompileVars.APP != "app":
|
|
12
13
|
raise AssertionError("unexpected variable name for 'app'")
|
|
13
14
|
|
|
14
15
|
telemetry.send("compile")
|
|
@@ -6,12 +6,12 @@ import os
|
|
|
6
6
|
from typing import TYPE_CHECKING, Any, List, Type
|
|
7
7
|
|
|
8
8
|
try:
|
|
9
|
-
import pydantic.v1 as
|
|
9
|
+
import pydantic.v1.main as pydantic_main
|
|
10
10
|
from pydantic.v1 import BaseModel
|
|
11
11
|
from pydantic.v1.fields import ModelField
|
|
12
12
|
except ModuleNotFoundError:
|
|
13
13
|
if not TYPE_CHECKING:
|
|
14
|
-
import pydantic
|
|
14
|
+
import pydantic.main as pydantic_main
|
|
15
15
|
from pydantic import BaseModel
|
|
16
16
|
from pydantic.fields import ModelField # type: ignore
|
|
17
17
|
|
|
@@ -45,10 +45,10 @@ def validate_field_name(bases: List[Type["BaseModel"]], field_name: str) -> None
|
|
|
45
45
|
|
|
46
46
|
# monkeypatch pydantic validate_field_name method to skip validating
|
|
47
47
|
# shadowed state vars when reloading app via utils.prerequisites.get_app(reload=True)
|
|
48
|
-
|
|
48
|
+
pydantic_main.validate_field_name = validate_field_name # type: ignore
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
class Base(
|
|
51
|
+
class Base(BaseModel): # pyright: ignore [reportUnboundVariable]
|
|
52
52
|
"""The base class subclassed by all Reflex classes.
|
|
53
53
|
|
|
54
54
|
This class wraps Pydantic and provides common methods such as
|
|
@@ -20,6 +20,7 @@ from reflex.state import BaseState
|
|
|
20
20
|
from reflex.style import SYSTEM_COLOR_MODE
|
|
21
21
|
from reflex.utils.exec import is_prod_mode
|
|
22
22
|
from reflex.utils.imports import ImportVar
|
|
23
|
+
from reflex.utils.prerequisites import get_web_dir
|
|
23
24
|
from reflex.vars import Var
|
|
24
25
|
|
|
25
26
|
|
|
@@ -469,7 +470,7 @@ def compile_tailwind(
|
|
|
469
470
|
The compiled Tailwind config.
|
|
470
471
|
"""
|
|
471
472
|
# Get the path for the output file.
|
|
472
|
-
output_path = constants.Tailwind.CONFIG
|
|
473
|
+
output_path = get_web_dir() / constants.Tailwind.CONFIG
|
|
473
474
|
|
|
474
475
|
# Compile the config.
|
|
475
476
|
code = _compile_tailwind(config)
|
|
@@ -483,7 +484,7 @@ def remove_tailwind_from_postcss() -> tuple[str, str]:
|
|
|
483
484
|
The path and code of the compiled postcss.config.js.
|
|
484
485
|
"""
|
|
485
486
|
# Get the path for the output file.
|
|
486
|
-
output_path = constants.Dirs.POSTCSS_JS
|
|
487
|
+
output_path = str(get_web_dir() / constants.Dirs.POSTCSS_JS)
|
|
487
488
|
|
|
488
489
|
code = [
|
|
489
490
|
line
|
|
@@ -502,7 +503,7 @@ def purge_web_pages_dir():
|
|
|
502
503
|
return
|
|
503
504
|
|
|
504
505
|
# Empty out the web pages directory.
|
|
505
|
-
utils.empty_dir(constants.Dirs.
|
|
506
|
+
utils.empty_dir(get_web_dir() / constants.Dirs.PAGES, keep_files=["_app.js"])
|
|
506
507
|
|
|
507
508
|
|
|
508
509
|
class ExecutorSafeFunctions:
|
|
@@ -37,7 +37,9 @@ class ReflexJinjaEnvironment(Environment):
|
|
|
37
37
|
constants.CompileVars.PROCESSING: False,
|
|
38
38
|
},
|
|
39
39
|
"color_mode": constants.ColorMode.NAME,
|
|
40
|
+
"resolved_color_mode": constants.ColorMode.RESOLVED_NAME,
|
|
40
41
|
"toggle_color_mode": constants.ColorMode.TOGGLE,
|
|
42
|
+
"set_color_mode": constants.ColorMode.SET,
|
|
41
43
|
"use_color_mode": constants.ColorMode.USE,
|
|
42
44
|
"hydrate": constants.CompileVars.HYDRATE,
|
|
43
45
|
"on_load_internal": constants.CompileVars.ON_LOAD_INTERNAL,
|