reflex 0.5.10a3__tar.gz → 0.6.0a1__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.10a3 → reflex-0.6.0a1}/PKG-INFO +4 -6
- {reflex-0.5.10a3 → reflex-0.6.0a1}/pyproject.toml +4 -6
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/pages/utils.js.jinja2 +4 -4
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/utils/context.js.jinja2 +1 -1
- reflex-0.6.0a1/reflex/.templates/jinja/web/utils/theme.js.jinja2 +1 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/__init__.py +3 -2
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/__init__.pyi +2 -2
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/app.py +43 -9
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/base.py +3 -2
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/compiler/compiler.py +6 -6
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/compiler/utils.py +5 -3
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/app_wrap.py +2 -4
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/app_wrap.pyi +17 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/bare.py +7 -4
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/body.pyi +17 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/document.pyi +81 -81
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/error_boundary.py +10 -8
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/error_boundary.pyi +20 -19
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/fragment.pyi +17 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/head.pyi +33 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/link.pyi +34 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/meta.pyi +65 -65
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/script.py +2 -1
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/script.pyi +21 -20
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/component.py +116 -145
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/banner.py +59 -60
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/banner.pyi +86 -150
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/client_side_routing.py +2 -1
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/client_side_routing.pyi +34 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/clipboard.py +2 -2
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/clipboard.pyi +19 -18
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/cond.py +21 -44
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/debounce.py +6 -8
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/debounce.pyi +19 -18
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/foreach.py +5 -14
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/html.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/match.py +36 -43
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/upload.py +32 -25
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/upload.pyi +84 -73
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/datadisplay/code.py +55 -28
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/datadisplay/code.pyi +20 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/datadisplay/dataeditor.py +17 -11
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/datadisplay/dataeditor.pyi +34 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/__init__.py +0 -1
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/__init__.pyi +0 -11
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/element.pyi +17 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/__init__.py +1 -7
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/__init__.pyi +1 -15
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/base.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/forms.py +24 -31
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/forms.pyi +237 -236
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/inline.pyi +450 -449
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/media.py +0 -21
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/media.pyi +338 -337
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/metadata.py +3 -2
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/metadata.pyi +98 -97
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/other.pyi +114 -113
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/scripts.pyi +50 -49
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/sectioning.pyi +242 -241
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/tables.pyi +162 -161
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/typography.pyi +242 -241
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/gridjs/datatable.py +13 -14
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/gridjs/datatable.pyi +34 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/lucide/icon.py +2 -126
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/lucide/icon.pyi +34 -142
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/markdown/markdown.py +30 -35
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/markdown/markdown.pyi +29 -32
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/moment/moment.pyi +19 -18
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/next/base.pyi +17 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/next/image.py +0 -4
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/next/image.pyi +20 -19
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/next/link.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/next/video.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/plotly/plotly.py +16 -28
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/plotly/plotly.pyi +36 -35
- reflex-0.6.0a1/reflex/components/props.py +42 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/__init__.pyi +1 -1
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/__init__.pyi +0 -1
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/accordion.py +7 -8
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/accordion.pyi +117 -116
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/base.pyi +34 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/drawer.pyi +169 -168
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/form.pyi +168 -167
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/progress.pyi +82 -81
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/slider.pyi +84 -83
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/base.py +8 -4
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/base.pyi +114 -113
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/color_mode.py +12 -21
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/color_mode.pyi +67 -67
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/__init__.pyi +1 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/alert_dialog.pyi +118 -117
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/aspect_ratio.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/avatar.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/badge.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/button.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/callout.pyi +82 -81
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/card.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/checkbox.py +2 -3
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/checkbox.pyi +53 -52
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/checkbox_cards.pyi +34 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/checkbox_group.pyi +34 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/context_menu.pyi +140 -139
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/data_list.py +5 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/data_list.pyi +71 -65
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/dialog.pyi +121 -120
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/dropdown_menu.pyi +142 -141
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/hover_card.pyi +68 -67
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/icon_button.py +2 -1
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/icon_button.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/inset.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/popover.pyi +73 -72
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/progress.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/radio.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/radio_cards.pyi +35 -34
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/radio_group.py +35 -31
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/radio_group.pyi +73 -66
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/scroll_area.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/segmented_control.pyi +35 -34
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/select.py +2 -1
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/select.pyi +155 -154
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/separator.py +2 -3
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/separator.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/skeleton.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/slider.py +2 -1
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/slider.pyi +20 -19
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/spinner.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/switch.pyi +19 -18
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/table.pyi +114 -113
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/tabs.pyi +84 -83
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/text_area.pyi +21 -20
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/text_field.py +0 -79
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/text_field.pyi +57 -63
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/tooltip.pyi +21 -20
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/base.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/box.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/center.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/container.py +2 -3
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/container.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/flex.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/grid.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/list.py +5 -4
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/list.pyi +86 -85
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/section.py +2 -3
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/section.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/spacer.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/stack.pyi +50 -49
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/blockquote.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/code.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/heading.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/link.pyi +18 -17
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/text.pyi +114 -113
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/react_player/audio.pyi +34 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/react_player/react_player.pyi +34 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/react_player/video.pyi +34 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/cartesian.py +23 -19
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/cartesian.pyi +297 -296
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/charts.py +6 -5
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/charts.pyi +179 -178
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/general.py +8 -7
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/general.pyi +82 -81
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/polar.py +14 -13
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/polar.pyi +76 -75
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/recharts.pyi +33 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/sonner/toast.py +30 -33
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/sonner/toast.pyi +27 -25
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/suneditor/editor.py +2 -1
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/suneditor/editor.pyi +27 -26
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/tags/iter_tag.py +16 -16
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/tags/tag.py +8 -10
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/constants/base.py +3 -1
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/constants/event.py +1 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/event.py +89 -79
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/experimental/__init__.py +25 -6
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/experimental/client_state.py +34 -58
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/experimental/hooks.py +13 -18
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/experimental/layout.py +5 -5
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/experimental/layout.pyi +84 -83
- {reflex-0.5.10a3/reflex/experimental/vars → reflex-0.6.0a1/reflex/ivars}/__init__.py +0 -1
- reflex-0.6.0a1/reflex/ivars/base.py +2180 -0
- reflex-0.6.0a1/reflex/ivars/function.py +200 -0
- reflex-0.6.0a1/reflex/ivars/number.py +1137 -0
- reflex-0.6.0a1/reflex/ivars/object.py +564 -0
- reflex-0.6.0a1/reflex/ivars/sequence.py +1601 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/model.py +22 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/reflex.py +4 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/state.py +388 -73
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/style.py +52 -34
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/testing.py +8 -3
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/exceptions.py +12 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/exec.py +0 -14
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/format.py +74 -223
- reflex-0.6.0a1/reflex/utils/net.py +43 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/path_ops.py +13 -1
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/prerequisites.py +46 -26
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/pyi_generator.py +5 -4
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/serializers.py +13 -31
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/types.py +44 -9
- reflex-0.6.0a1/reflex/vars.py +501 -0
- reflex-0.5.10a3/reflex/.templates/apps/demo/.gitignore +0 -4
- reflex-0.5.10a3/reflex/.templates/apps/demo/assets/favicon.ico +0 -0
- reflex-0.5.10a3/reflex/.templates/apps/demo/assets/github.svg +0 -10
- reflex-0.5.10a3/reflex/.templates/apps/demo/assets/icon.svg +0 -37
- reflex-0.5.10a3/reflex/.templates/apps/demo/assets/logo.svg +0 -68
- reflex-0.5.10a3/reflex/.templates/apps/demo/assets/paneleft.svg +0 -13
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/__init__.py +0 -1
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/demo.py +0 -127
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/pages/__init__.py +0 -7
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/pages/chatapp.py +0 -31
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/pages/datatable.py +0 -360
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/pages/forms.py +0 -257
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/pages/graphing.py +0 -253
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/pages/home.py +0 -56
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/sidebar.py +0 -178
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/state.py +0 -22
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/states/form_state.py +0 -40
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/states/pie_state.py +0 -47
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/styles.py +0 -68
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -4
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/webui/components/chat.py +0 -118
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/webui/components/loading_icon.py +0 -19
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/webui/components/modal.py +0 -56
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -70
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -66
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/webui/state.py +0 -146
- reflex-0.5.10a3/reflex/.templates/apps/demo/code/webui/styles.py +0 -88
- reflex-0.5.10a3/reflex/.templates/jinja/web/utils/theme.js.jinja2 +0 -1
- reflex-0.5.10a3/reflex/components/props.py +0 -31
- reflex-0.5.10a3/reflex/experimental/vars/base.py +0 -583
- reflex-0.5.10a3/reflex/experimental/vars/function.py +0 -290
- reflex-0.5.10a3/reflex/experimental/vars/number.py +0 -1458
- reflex-0.5.10a3/reflex/experimental/vars/object.py +0 -804
- reflex-0.5.10a3/reflex/experimental/vars/sequence.py +0 -1764
- reflex-0.5.10a3/reflex/utils/watch.py +0 -96
- reflex-0.5.10a3/reflex/vars.py +0 -2604
- reflex-0.5.10a3/reflex/vars.pyi +0 -218
- {reflex-0.5.10a3 → reflex-0.6.0a1}/LICENSE +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/README.md +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/apps/blank/assets/favicon.ico +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/apps/blank/code/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/apps/blank/code/blank.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/app/rxconfig.py.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/custom_components/README.md.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/custom_components/__init__.py.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/custom_components/demo_app.py.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/custom_components/pyproject.toml.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/custom_components/src.py.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/package.json.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/pages/_app.js.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/pages/_document.js.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/pages/component.js.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/pages/custom_component.js.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/pages/index.js.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/pages/stateful_components.js.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/styles/styles.css.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/jinja/web/tailwind.config.js.jinja2 +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/.gitignore +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/jsconfig.json +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/next.config.js +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/postcss.config.js +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/styles/tailwind.css +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/utils/client_side_routing.js +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/utils/helpers/dataeditor.js +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/utils/helpers/debounce.js +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/utils/helpers/paste.js +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/utils/helpers/range.js +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/utils/helpers/throttle.js +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/.templates/web/utils/state.js +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/__main__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/admin.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/app_mixins/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/app_mixins/lifespan.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/app_mixins/middleware.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/app_mixins/mixin.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/app_module_for_backend.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/compiler/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/compiler/templates.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/__init__.pyi +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/__init__.pyi +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/body.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/document.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/fragment.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/head.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/link.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/base/meta.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/__init__.pyi +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/breakpoints.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/colors.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/html.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/layout/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/core/responsive.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/datadisplay/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/datadisplay/__init__.pyi +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/datadisplay/logo.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/constants/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/constants/html.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/constants/react.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/constants/reflex.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/element.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/base.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/inline.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/other.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/scripts.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/sectioning.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/tables.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/el/elements/typography.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/gridjs/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/literals.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/lucide/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/markdown/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/moment/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/moment/moment.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/next/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/next/base.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/next/link.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/next/video.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/plotly/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/base.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/drawer.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/form.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/progress.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/primitives/slider.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/__init__.pyi +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/alert_dialog.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/aspect_ratio.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/avatar.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/badge.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/button.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/callout.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/card.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/checkbox_cards.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/checkbox_group.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/context_menu.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/dialog.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/dropdown_menu.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/hover_card.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/inset.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/popover.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/progress.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/radio.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/radio_cards.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/scroll_area.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/segmented_control.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/skeleton.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/spinner.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/switch.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/table.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/tabs.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/text_area.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/components/tooltip.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/__init__.pyi +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/base.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/box.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/center.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/flex.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/grid.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/spacer.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/layout/stack.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/__init__.pyi +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/base.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/blockquote.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/code.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/heading.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/link.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/radix/themes/typography/text.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/react_player/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/react_player/audio.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/react_player/react_player.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/react_player/video.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/__init__.pyi +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/recharts/recharts.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/sonner/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/suneditor/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/tags/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/tags/cond_tag.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/tags/match_tag.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/components/tags/tagless.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/config.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/constants/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/constants/colors.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/constants/compiler.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/constants/config.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/constants/custom_components.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/constants/installer.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/constants/route.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/constants/style.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/custom_components/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/custom_components/custom_components.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/experimental/assets.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/experimental/misc.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/middleware/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/middleware/hydrate_middleware.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/middleware/middleware.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/page.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/route.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/__init__.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/build.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/codespaces.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/compat.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/console.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/export.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/imports.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/lazy_loader.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/processes.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/redir.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/registry.py +0 -0
- {reflex-0.5.10a3 → reflex-0.6.0a1}/reflex/utils/telemetry.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: reflex
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0a1
|
|
4
4
|
Summary: Web apps in pure Python.
|
|
5
5
|
Home-page: https://reflex.dev
|
|
6
6
|
License: Apache-2.0
|
|
@@ -21,8 +21,8 @@ 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
|
|
25
|
-
Requires-Dist: gunicorn (>=20.1.0,<
|
|
24
|
+
Requires-Dist: fastapi (>=0.96.0,!=0.111.0,!=0.111.1)
|
|
25
|
+
Requires-Dist: gunicorn (>=20.1.0,<24.0)
|
|
26
26
|
Requires-Dist: httpx (>=0.25.1,<1.0)
|
|
27
27
|
Requires-Dist: jinja2 (>=3.1.2,<4.0)
|
|
28
28
|
Requires-Dist: lazy_loader (>=0.4)
|
|
@@ -34,7 +34,7 @@ Requires-Dist: python-engineio (!=4.6.0)
|
|
|
34
34
|
Requires-Dist: python-multipart (>=0.0.5,<0.1)
|
|
35
35
|
Requires-Dist: python-socketio (>=5.7.0,<6.0)
|
|
36
36
|
Requires-Dist: redis (>=4.3.5,<6.0)
|
|
37
|
-
Requires-Dist: reflex-chakra (>=0.
|
|
37
|
+
Requires-Dist: reflex-chakra (>=0.6.0a)
|
|
38
38
|
Requires-Dist: reflex-hosting-cli (>=0.1.2,<2.0)
|
|
39
39
|
Requires-Dist: rich (>=13.0.0,<14.0)
|
|
40
40
|
Requires-Dist: setuptools (>=69.1.1,<70.2)
|
|
@@ -44,8 +44,6 @@ Requires-Dist: tomlkit (>=0.12.4,<1.0)
|
|
|
44
44
|
Requires-Dist: twine (>=4.0.0,<6.0)
|
|
45
45
|
Requires-Dist: typer (>=0.4.2,<1.0)
|
|
46
46
|
Requires-Dist: uvicorn (>=0.20.0)
|
|
47
|
-
Requires-Dist: watchdog (>=2.3.1,<5.0)
|
|
48
|
-
Requires-Dist: watchfiles (>=0.19.0,<1.0)
|
|
49
47
|
Requires-Dist: wheel (>=0.42.0,<1.0)
|
|
50
48
|
Requires-Dist: wrapt (>=1.11.0,<2.0) ; python_version < "3.11"
|
|
51
49
|
Requires-Dist: wrapt (>=1.14.0,<2.0) ; python_version >= "3.11"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "reflex"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.6.0a1"
|
|
4
4
|
description = "Web apps in pure Python."
|
|
5
5
|
license = "Apache-2.0"
|
|
6
6
|
authors = [
|
|
@@ -28,8 +28,8 @@ packages = [
|
|
|
28
28
|
[tool.poetry.dependencies]
|
|
29
29
|
python = "^3.8"
|
|
30
30
|
dill = ">=0.3.8,<0.4"
|
|
31
|
-
fastapi = ">=0.96.0
|
|
32
|
-
gunicorn = ">=20.1.0,<
|
|
31
|
+
fastapi = ">=0.96.0,!=0.111.0,!=0.111.1"
|
|
32
|
+
gunicorn = ">=20.1.0,<24.0"
|
|
33
33
|
jinja2 = ">=3.1.2,<4.0"
|
|
34
34
|
psutil = ">=5.9.4,<7.0"
|
|
35
35
|
pydantic = ">=1.10.2,<3.0"
|
|
@@ -40,8 +40,6 @@ rich = ">=13.0.0,<14.0"
|
|
|
40
40
|
sqlmodel = ">=0.0.14,<0.1"
|
|
41
41
|
typer = ">=0.4.2,<1.0"
|
|
42
42
|
uvicorn = ">=0.20.0"
|
|
43
|
-
watchdog = ">=2.3.1,<5.0"
|
|
44
|
-
watchfiles = ">=0.19.0,<1.0"
|
|
45
43
|
starlette-admin = ">=0.11.0,<1.0"
|
|
46
44
|
alembic = ">=1.11.1,<2.0"
|
|
47
45
|
platformdirs = ">=3.10.0,<5.0"
|
|
@@ -61,7 +59,7 @@ httpx = ">=0.25.1,<1.0"
|
|
|
61
59
|
twine = ">=4.0.0,<6.0"
|
|
62
60
|
tomlkit = ">=0.12.4,<1.0"
|
|
63
61
|
lazy_loader = ">=0.4"
|
|
64
|
-
reflex-chakra = ">=0.
|
|
62
|
+
reflex-chakra = ">=0.6.0a"
|
|
65
63
|
|
|
66
64
|
[tool.poetry.group.dev.dependencies]
|
|
67
65
|
pytest = ">=7.1.2,<8.0"
|
|
@@ -64,11 +64,11 @@
|
|
|
64
64
|
{# Args: #}
|
|
65
65
|
{# component: component dictionary #}
|
|
66
66
|
{% macro render_iterable_tag(component) %}
|
|
67
|
-
{ {%- if component.iterable_type == 'dict' -%}Object.entries({{- component.iterable_state }}){%- else -%}{{- component.iterable_state }}{%- endif -%}.map(({{ component.arg_name }}, {{ component.arg_index }}) => (
|
|
67
|
+
<>{ {%- if component.iterable_type == 'dict' -%}Object.entries({{- component.iterable_state }}){%- else -%}{{- component.iterable_state }}{%- endif -%}.map(({{ component.arg_name }}, {{ component.arg_index }}) => (
|
|
68
68
|
{% for child in component.children %}
|
|
69
69
|
{{ render(child) }}
|
|
70
70
|
{% endfor %}
|
|
71
|
-
))}
|
|
71
|
+
))}</>
|
|
72
72
|
{%- endmacro %}
|
|
73
73
|
|
|
74
74
|
|
|
@@ -85,10 +85,10 @@
|
|
|
85
85
|
{% macro render_match_tag(component) %}
|
|
86
86
|
{
|
|
87
87
|
(() => {
|
|
88
|
-
switch (JSON.stringify({{ component.cond.
|
|
88
|
+
switch (JSON.stringify({{ component.cond._var_name }})) {
|
|
89
89
|
{% for case in component.match_cases %}
|
|
90
90
|
{% for condition in case[:-1] %}
|
|
91
|
-
case JSON.stringify({{ condition.
|
|
91
|
+
case JSON.stringify({{ condition._var_name }}):
|
|
92
92
|
{% endfor %}
|
|
93
93
|
return {{ case[-1] }};
|
|
94
94
|
break;
|
|
@@ -7,7 +7,7 @@ export const initialState = {{ initial_state|json_dumps }}
|
|
|
7
7
|
export const initialState = {}
|
|
8
8
|
{% endif %}
|
|
9
9
|
|
|
10
|
-
export const defaultColorMode =
|
|
10
|
+
export const defaultColorMode = {{ default_color_mode }}
|
|
11
11
|
export const ColorModeContext = createContext(null);
|
|
12
12
|
export const UploadFilesContext = createContext(null);
|
|
13
13
|
export const DispatchContext = createContext(null);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default {{ theme }}
|
|
@@ -140,6 +140,7 @@ RADIX_THEMES_COMPONENTS_MAPPING: dict = {
|
|
|
140
140
|
"components.radix.themes.components.radio_group": ["radio", "radio_group"],
|
|
141
141
|
"components.radix.themes.components.dropdown_menu": ["menu", "dropdown_menu"],
|
|
142
142
|
"components.radix.themes.components.separator": ["divider", "separator"],
|
|
143
|
+
"components.radix.themes.components.progress": ["progress"],
|
|
143
144
|
}
|
|
144
145
|
|
|
145
146
|
RADIX_THEMES_LAYOUT_MAPPING: dict = {
|
|
@@ -205,7 +206,6 @@ RADIX_PRIMITIVES_MAPPING: dict = {
|
|
|
205
206
|
"components.radix.primitives.form": [
|
|
206
207
|
"form",
|
|
207
208
|
],
|
|
208
|
-
"components.radix.primitives.progress": ["progress"],
|
|
209
209
|
}
|
|
210
210
|
|
|
211
211
|
COMPONENTS_CORE_MAPPING: dict = {
|
|
@@ -324,7 +324,7 @@ _MAPPING: dict = {
|
|
|
324
324
|
"style": ["Style", "toggle_color_mode"],
|
|
325
325
|
"utils.imports": ["ImportVar"],
|
|
326
326
|
"utils.serializers": ["serializer"],
|
|
327
|
-
"vars": ["
|
|
327
|
+
"vars": ["Var"],
|
|
328
328
|
}
|
|
329
329
|
|
|
330
330
|
_SUBMODULES: set[str] = {
|
|
@@ -338,6 +338,7 @@ _SUBMODULES: set[str] = {
|
|
|
338
338
|
"testing",
|
|
339
339
|
"utils",
|
|
340
340
|
"vars",
|
|
341
|
+
"ivars",
|
|
341
342
|
"config",
|
|
342
343
|
"compiler",
|
|
343
344
|
}
|
|
@@ -12,6 +12,7 @@ from . import compiler as compiler
|
|
|
12
12
|
from . import components as components
|
|
13
13
|
from . import config as config
|
|
14
14
|
from . import event as event
|
|
15
|
+
from . import ivars as ivars
|
|
15
16
|
from . import model as model
|
|
16
17
|
from . import style as style
|
|
17
18
|
from . import testing as testing
|
|
@@ -70,7 +71,6 @@ from .components.plotly import plotly as plotly
|
|
|
70
71
|
from .components.radix.primitives.accordion import accordion as accordion
|
|
71
72
|
from .components.radix.primitives.drawer import drawer as drawer
|
|
72
73
|
from .components.radix.primitives.form import form as form
|
|
73
|
-
from .components.radix.primitives.progress import progress as progress
|
|
74
74
|
from .components.radix.themes.base import theme as theme
|
|
75
75
|
from .components.radix.themes.base import theme_panel as theme_panel
|
|
76
76
|
from .components.radix.themes.color_mode import color_mode as color_mode
|
|
@@ -105,6 +105,7 @@ from .components.radix.themes.components.hover_card import hover_card as hover_c
|
|
|
105
105
|
from .components.radix.themes.components.icon_button import icon_button as icon_button
|
|
106
106
|
from .components.radix.themes.components.inset import inset as inset
|
|
107
107
|
from .components.radix.themes.components.popover import popover as popover
|
|
108
|
+
from .components.radix.themes.components.progress import progress as progress
|
|
108
109
|
from .components.radix.themes.components.radio_cards import radio_cards as radio_cards
|
|
109
110
|
from .components.radix.themes.components.radio_group import radio as radio
|
|
110
111
|
from .components.radix.themes.components.radio_group import radio_group as radio_group
|
|
@@ -189,7 +190,6 @@ from .style import toggle_color_mode as toggle_color_mode
|
|
|
189
190
|
from .utils.imports import ImportVar as ImportVar
|
|
190
191
|
from .utils.serializers import serializer as serializer
|
|
191
192
|
from .vars import Var as Var
|
|
192
|
-
from .vars import cached_var as cached_var
|
|
193
193
|
|
|
194
194
|
del compat
|
|
195
195
|
RADIX_THEMES_MAPPING: dict
|
|
@@ -33,7 +33,7 @@ from typing import (
|
|
|
33
33
|
|
|
34
34
|
from fastapi import FastAPI, HTTPException, Request, UploadFile
|
|
35
35
|
from fastapi.middleware import cors
|
|
36
|
-
from fastapi.responses import StreamingResponse
|
|
36
|
+
from fastapi.responses import JSONResponse, StreamingResponse
|
|
37
37
|
from fastapi.staticfiles import StaticFiles
|
|
38
38
|
from rich.progress import MofNCompleteColumn, Progress, TimeElapsedColumn
|
|
39
39
|
from socketio import ASGIApp, AsyncNamespace, AsyncServer
|
|
@@ -65,7 +65,7 @@ from reflex.components.core.upload import Upload, get_upload_dir
|
|
|
65
65
|
from reflex.components.radix import themes
|
|
66
66
|
from reflex.config import get_config
|
|
67
67
|
from reflex.event import Event, EventHandler, EventSpec, window_alert
|
|
68
|
-
from reflex.model import Model
|
|
68
|
+
from reflex.model import Model, get_db_status
|
|
69
69
|
from reflex.page import (
|
|
70
70
|
DECORATED_PAGES,
|
|
71
71
|
)
|
|
@@ -269,13 +269,12 @@ class App(MiddlewareMixin, LifespanMixin, Base):
|
|
|
269
269
|
"`connect_error_component` is deprecated, use `overlay_component` instead"
|
|
270
270
|
)
|
|
271
271
|
super().__init__(**kwargs)
|
|
272
|
-
base_state_subclasses = BaseState.__subclasses__()
|
|
273
272
|
|
|
274
273
|
# Special case to allow test cases have multiple subclasses of rx.BaseState.
|
|
275
|
-
if not is_testing_env() and
|
|
276
|
-
# Only
|
|
274
|
+
if not is_testing_env() and BaseState.__subclasses__() != [State]:
|
|
275
|
+
# Only rx.State is allowed as Base State subclass.
|
|
277
276
|
raise ValueError(
|
|
278
|
-
"rx.BaseState cannot be subclassed
|
|
277
|
+
"rx.BaseState cannot be subclassed directly. Use rx.State instead"
|
|
279
278
|
)
|
|
280
279
|
|
|
281
280
|
if "breakpoints" in self.style:
|
|
@@ -377,6 +376,7 @@ class App(MiddlewareMixin, LifespanMixin, Base):
|
|
|
377
376
|
"""Add default api endpoints (ping)."""
|
|
378
377
|
# To test the server.
|
|
379
378
|
self.api.get(str(constants.Endpoint.PING))(ping)
|
|
379
|
+
self.api.get(str(constants.Endpoint.HEALTH))(health)
|
|
380
380
|
|
|
381
381
|
def _add_optional_endpoints(self):
|
|
382
382
|
"""Add optional api endpoints (_upload)."""
|
|
@@ -442,7 +442,7 @@ class App(MiddlewareMixin, LifespanMixin, Base):
|
|
|
442
442
|
raise
|
|
443
443
|
except TypeError as e:
|
|
444
444
|
message = str(e)
|
|
445
|
-
if "
|
|
445
|
+
if "Var" in message:
|
|
446
446
|
raise VarOperationTypeError(
|
|
447
447
|
"You may be trying to use an invalid Python function on a state var. "
|
|
448
448
|
"When referencing a var inside your render code, only limited var operations are supported. "
|
|
@@ -527,9 +527,10 @@ class App(MiddlewareMixin, LifespanMixin, Base):
|
|
|
527
527
|
self._enable_state()
|
|
528
528
|
else:
|
|
529
529
|
for var in component._get_vars(include_children=True):
|
|
530
|
-
|
|
530
|
+
var_data = var._get_all_var_data()
|
|
531
|
+
if not var_data:
|
|
531
532
|
continue
|
|
532
|
-
if not
|
|
533
|
+
if not var_data.state:
|
|
533
534
|
continue
|
|
534
535
|
self._enable_state()
|
|
535
536
|
break
|
|
@@ -1113,6 +1114,7 @@ class App(MiddlewareMixin, LifespanMixin, Base):
|
|
|
1113
1114
|
Task if the event was backgroundable, otherwise None
|
|
1114
1115
|
"""
|
|
1115
1116
|
substate, handler = state._get_event_handler(event)
|
|
1117
|
+
|
|
1116
1118
|
if not handler.is_background:
|
|
1117
1119
|
return None
|
|
1118
1120
|
|
|
@@ -1317,6 +1319,38 @@ async def ping() -> str:
|
|
|
1317
1319
|
return "pong"
|
|
1318
1320
|
|
|
1319
1321
|
|
|
1322
|
+
async def health() -> JSONResponse:
|
|
1323
|
+
"""Health check endpoint to assess the status of the database and Redis services.
|
|
1324
|
+
|
|
1325
|
+
Returns:
|
|
1326
|
+
JSONResponse: A JSON object with the health status:
|
|
1327
|
+
- "status" (bool): Overall health, True if all checks pass.
|
|
1328
|
+
- "db" (bool or str): Database status - True, False, or "NA".
|
|
1329
|
+
- "redis" (bool or str): Redis status - True, False, or "NA".
|
|
1330
|
+
"""
|
|
1331
|
+
health_status = {"status": True}
|
|
1332
|
+
status_code = 200
|
|
1333
|
+
|
|
1334
|
+
db_status, redis_status = await asyncio.gather(
|
|
1335
|
+
get_db_status(), prerequisites.get_redis_status()
|
|
1336
|
+
)
|
|
1337
|
+
|
|
1338
|
+
health_status["db"] = db_status
|
|
1339
|
+
|
|
1340
|
+
if redis_status is None:
|
|
1341
|
+
health_status["redis"] = False
|
|
1342
|
+
else:
|
|
1343
|
+
health_status["redis"] = redis_status
|
|
1344
|
+
|
|
1345
|
+
if not health_status["db"] or (
|
|
1346
|
+
not health_status["redis"] and redis_status is not None
|
|
1347
|
+
):
|
|
1348
|
+
health_status["status"] = False
|
|
1349
|
+
status_code = 503
|
|
1350
|
+
|
|
1351
|
+
return JSONResponse(content=health_status, status_code=status_code)
|
|
1352
|
+
|
|
1353
|
+
|
|
1320
1354
|
def upload(app: App):
|
|
1321
1355
|
"""Upload a file.
|
|
1322
1356
|
|
|
@@ -110,14 +110,15 @@ class Base(BaseModel): # pyright: ignore [reportUnboundVariable]
|
|
|
110
110
|
var: The variable to add a pydantic field for.
|
|
111
111
|
default_value: The default value of the field
|
|
112
112
|
"""
|
|
113
|
+
var_name = var._var_name.split(".")[-1]
|
|
113
114
|
new_field = ModelField.infer(
|
|
114
|
-
name=
|
|
115
|
+
name=var_name,
|
|
115
116
|
value=default_value,
|
|
116
117
|
annotation=var._var_type,
|
|
117
118
|
class_validators=None,
|
|
118
119
|
config=cls.__config__, # type: ignore
|
|
119
120
|
)
|
|
120
|
-
cls.__fields__.update({
|
|
121
|
+
cls.__fields__.update({var_name: new_field})
|
|
121
122
|
|
|
122
123
|
def get_value(self, key: str) -> Any:
|
|
123
124
|
"""Get the value of a field.
|
|
@@ -17,12 +17,12 @@ from reflex.components.component import (
|
|
|
17
17
|
StatefulComponent,
|
|
18
18
|
)
|
|
19
19
|
from reflex.config import get_config
|
|
20
|
+
from reflex.ivars.base import ImmutableVar, LiteralVar
|
|
20
21
|
from reflex.state import BaseState
|
|
21
22
|
from reflex.style import SYSTEM_COLOR_MODE
|
|
22
23
|
from reflex.utils.exec import is_prod_mode
|
|
23
24
|
from reflex.utils.imports import ImportVar
|
|
24
25
|
from reflex.utils.prerequisites import get_web_dir
|
|
25
|
-
from reflex.vars import Var
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
def _compile_document_root(root: Component) -> str:
|
|
@@ -57,7 +57,7 @@ def _compile_app(app_root: Component) -> str:
|
|
|
57
57
|
)
|
|
58
58
|
|
|
59
59
|
|
|
60
|
-
def _compile_theme(theme:
|
|
60
|
+
def _compile_theme(theme: str) -> str:
|
|
61
61
|
"""Compile the theme.
|
|
62
62
|
|
|
63
63
|
Args:
|
|
@@ -80,8 +80,8 @@ def _compile_contexts(state: Optional[Type[BaseState]], theme: Component | None)
|
|
|
80
80
|
The compiled context file.
|
|
81
81
|
"""
|
|
82
82
|
appearance = getattr(theme, "appearance", None)
|
|
83
|
-
if appearance is None or
|
|
84
|
-
appearance = SYSTEM_COLOR_MODE
|
|
83
|
+
if appearance is None or str(LiteralVar.create(appearance)) == '"inherit"':
|
|
84
|
+
appearance = LiteralVar.create(SYSTEM_COLOR_MODE)
|
|
85
85
|
|
|
86
86
|
last_compiled_time = str(datetime.now())
|
|
87
87
|
return (
|
|
@@ -320,7 +320,7 @@ def _compile_tailwind(
|
|
|
320
320
|
def compile_document_root(
|
|
321
321
|
head_components: list[Component],
|
|
322
322
|
html_lang: Optional[str] = None,
|
|
323
|
-
html_custom_attrs: Optional[Dict[str, Union[
|
|
323
|
+
html_custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
|
|
324
324
|
) -> tuple[str, str]:
|
|
325
325
|
"""Compile the document root.
|
|
326
326
|
|
|
@@ -377,7 +377,7 @@ def compile_theme(style: ComponentStyle) -> tuple[str, str]:
|
|
|
377
377
|
theme = utils.create_theme(style)
|
|
378
378
|
|
|
379
379
|
# Compile the theme.
|
|
380
|
-
code = _compile_theme(theme)
|
|
380
|
+
code = _compile_theme(str(LiteralVar.create(theme)))
|
|
381
381
|
return output_path, code
|
|
382
382
|
|
|
383
383
|
|
|
@@ -7,6 +7,7 @@ from pathlib import Path
|
|
|
7
7
|
from typing import Any, Callable, Dict, Optional, Type, Union
|
|
8
8
|
from urllib.parse import urlparse
|
|
9
9
|
|
|
10
|
+
from reflex.ivars.base import ImmutableVar
|
|
10
11
|
from reflex.utils.prerequisites import get_web_dir
|
|
11
12
|
|
|
12
13
|
try:
|
|
@@ -32,7 +33,6 @@ from reflex.state import BaseState, Cookie, LocalStorage, SessionStorage
|
|
|
32
33
|
from reflex.style import Style
|
|
33
34
|
from reflex.utils import console, format, imports, path_ops
|
|
34
35
|
from reflex.utils.imports import ImportVar, ParsedImportDict
|
|
35
|
-
from reflex.vars import Var
|
|
36
36
|
|
|
37
37
|
# To re-export this function.
|
|
38
38
|
merge_imports = imports.merge_imports
|
|
@@ -152,7 +152,9 @@ def compile_state(state: Type[BaseState]) -> dict:
|
|
|
152
152
|
console.warn(
|
|
153
153
|
f"Failed to compile initial state with computed vars, excluding them: {e}"
|
|
154
154
|
)
|
|
155
|
-
initial_state = state(_reflex_internal_init=True).dict(
|
|
155
|
+
initial_state = state(_reflex_internal_init=True).dict(
|
|
156
|
+
initial=True, include_computed=False
|
|
157
|
+
)
|
|
156
158
|
return format.format_state(initial_state)
|
|
157
159
|
|
|
158
160
|
|
|
@@ -284,7 +286,7 @@ def compile_custom_component(
|
|
|
284
286
|
def create_document_root(
|
|
285
287
|
head_components: list[Component] | None = None,
|
|
286
288
|
html_lang: Optional[str] = None,
|
|
287
|
-
html_custom_attrs: Optional[Dict[str, Union[
|
|
289
|
+
html_custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
|
|
288
290
|
) -> Component:
|
|
289
291
|
"""Create the document root.
|
|
290
292
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from reflex.components.base.fragment import Fragment
|
|
4
4
|
from reflex.components.component import Component
|
|
5
|
-
from reflex.
|
|
5
|
+
from reflex.ivars.base import ImmutableVar
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class AppWrap(Fragment):
|
|
@@ -15,6 +15,4 @@ class AppWrap(Fragment):
|
|
|
15
15
|
Returns:
|
|
16
16
|
A new AppWrap component containing {children}.
|
|
17
17
|
"""
|
|
18
|
-
return super().create(
|
|
19
|
-
Var.create("{children}", _var_is_local=False, _var_is_string=False)
|
|
20
|
-
)
|
|
18
|
+
return super().create(ImmutableVar.create("children"))
|
|
@@ -7,8 +7,8 @@ from typing import Any, Callable, Dict, Optional, Union, overload
|
|
|
7
7
|
|
|
8
8
|
from reflex.components.base.fragment import Fragment
|
|
9
9
|
from reflex.event import EventHandler, EventSpec
|
|
10
|
+
from reflex.ivars.base import ImmutableVar
|
|
10
11
|
from reflex.style import Style
|
|
11
|
-
from reflex.vars import BaseVar, Var
|
|
12
12
|
|
|
13
13
|
class AppWrap(Fragment):
|
|
14
14
|
@overload
|
|
@@ -21,51 +21,51 @@ class AppWrap(Fragment):
|
|
|
21
21
|
id: Optional[Any] = None,
|
|
22
22
|
class_name: Optional[Any] = None,
|
|
23
23
|
autofocus: Optional[bool] = None,
|
|
24
|
-
custom_attrs: Optional[Dict[str, Union[
|
|
24
|
+
custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
|
|
25
25
|
on_blur: Optional[
|
|
26
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
26
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
27
27
|
] = None,
|
|
28
28
|
on_click: Optional[
|
|
29
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
29
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
30
30
|
] = None,
|
|
31
31
|
on_context_menu: Optional[
|
|
32
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
32
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
33
33
|
] = None,
|
|
34
34
|
on_double_click: Optional[
|
|
35
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
35
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
36
36
|
] = None,
|
|
37
37
|
on_focus: Optional[
|
|
38
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
38
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
39
39
|
] = None,
|
|
40
40
|
on_mount: Optional[
|
|
41
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
41
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
42
42
|
] = None,
|
|
43
43
|
on_mouse_down: Optional[
|
|
44
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
44
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
45
45
|
] = None,
|
|
46
46
|
on_mouse_enter: Optional[
|
|
47
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
47
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
48
48
|
] = None,
|
|
49
49
|
on_mouse_leave: Optional[
|
|
50
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
50
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
51
51
|
] = None,
|
|
52
52
|
on_mouse_move: Optional[
|
|
53
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
53
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
54
54
|
] = None,
|
|
55
55
|
on_mouse_out: Optional[
|
|
56
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
56
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
57
57
|
] = None,
|
|
58
58
|
on_mouse_over: Optional[
|
|
59
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
59
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
60
60
|
] = None,
|
|
61
61
|
on_mouse_up: Optional[
|
|
62
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
62
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
63
63
|
] = None,
|
|
64
64
|
on_scroll: Optional[
|
|
65
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
65
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
66
66
|
] = None,
|
|
67
67
|
on_unmount: Optional[
|
|
68
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
68
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
69
69
|
] = None,
|
|
70
70
|
**props,
|
|
71
71
|
) -> "AppWrap":
|
|
@@ -7,13 +7,14 @@ from typing import Any, Iterator
|
|
|
7
7
|
from reflex.components.component import Component
|
|
8
8
|
from reflex.components.tags import Tag
|
|
9
9
|
from reflex.components.tags.tagless import Tagless
|
|
10
|
+
from reflex.ivars.base import ImmutableVar
|
|
10
11
|
from reflex.vars import Var
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
class Bare(Component):
|
|
14
15
|
"""A component with no tag."""
|
|
15
16
|
|
|
16
|
-
contents: Var[
|
|
17
|
+
contents: Var[Any]
|
|
17
18
|
|
|
18
19
|
@classmethod
|
|
19
20
|
def create(cls, contents: Any) -> Component:
|
|
@@ -25,16 +26,18 @@ class Bare(Component):
|
|
|
25
26
|
Returns:
|
|
26
27
|
The component.
|
|
27
28
|
"""
|
|
28
|
-
if isinstance(contents,
|
|
29
|
-
contents
|
|
29
|
+
if isinstance(contents, ImmutableVar):
|
|
30
|
+
return cls(contents=contents)
|
|
30
31
|
else:
|
|
31
32
|
contents = str(contents) if contents is not None else ""
|
|
32
33
|
return cls(contents=contents) # type: ignore
|
|
33
34
|
|
|
34
35
|
def _render(self) -> Tag:
|
|
36
|
+
if isinstance(self.contents, ImmutableVar):
|
|
37
|
+
return Tagless(contents=f"{{{str(self.contents)}}}")
|
|
35
38
|
return Tagless(contents=str(self.contents))
|
|
36
39
|
|
|
37
|
-
def _get_vars(self, include_children: bool = False) -> Iterator[
|
|
40
|
+
def _get_vars(self, include_children: bool = False) -> Iterator[ImmutableVar]:
|
|
38
41
|
"""Walk all Vars used in this component.
|
|
39
42
|
|
|
40
43
|
Args:
|
|
@@ -7,8 +7,8 @@ from typing import Any, Callable, Dict, Optional, Union, overload
|
|
|
7
7
|
|
|
8
8
|
from reflex.components.component import Component
|
|
9
9
|
from reflex.event import EventHandler, EventSpec
|
|
10
|
+
from reflex.ivars.base import ImmutableVar
|
|
10
11
|
from reflex.style import Style
|
|
11
|
-
from reflex.vars import BaseVar, Var
|
|
12
12
|
|
|
13
13
|
class Body(Component):
|
|
14
14
|
@overload
|
|
@@ -21,51 +21,51 @@ class Body(Component):
|
|
|
21
21
|
id: Optional[Any] = None,
|
|
22
22
|
class_name: Optional[Any] = None,
|
|
23
23
|
autofocus: Optional[bool] = None,
|
|
24
|
-
custom_attrs: Optional[Dict[str, Union[
|
|
24
|
+
custom_attrs: Optional[Dict[str, Union[ImmutableVar, str]]] = None,
|
|
25
25
|
on_blur: Optional[
|
|
26
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
26
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
27
27
|
] = None,
|
|
28
28
|
on_click: Optional[
|
|
29
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
29
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
30
30
|
] = None,
|
|
31
31
|
on_context_menu: Optional[
|
|
32
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
32
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
33
33
|
] = None,
|
|
34
34
|
on_double_click: Optional[
|
|
35
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
35
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
36
36
|
] = None,
|
|
37
37
|
on_focus: Optional[
|
|
38
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
38
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
39
39
|
] = None,
|
|
40
40
|
on_mount: Optional[
|
|
41
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
41
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
42
42
|
] = None,
|
|
43
43
|
on_mouse_down: Optional[
|
|
44
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
44
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
45
45
|
] = None,
|
|
46
46
|
on_mouse_enter: Optional[
|
|
47
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
47
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
48
48
|
] = None,
|
|
49
49
|
on_mouse_leave: Optional[
|
|
50
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
50
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
51
51
|
] = None,
|
|
52
52
|
on_mouse_move: Optional[
|
|
53
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
53
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
54
54
|
] = None,
|
|
55
55
|
on_mouse_out: Optional[
|
|
56
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
56
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
57
57
|
] = None,
|
|
58
58
|
on_mouse_over: Optional[
|
|
59
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
59
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
60
60
|
] = None,
|
|
61
61
|
on_mouse_up: Optional[
|
|
62
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
62
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
63
63
|
] = None,
|
|
64
64
|
on_scroll: Optional[
|
|
65
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
65
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
66
66
|
] = None,
|
|
67
67
|
on_unmount: Optional[
|
|
68
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
68
|
+
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
69
69
|
] = None,
|
|
70
70
|
**props,
|
|
71
71
|
) -> "Body":
|