reflex 0.5.10a3__py3-none-any.whl → 0.6.0__py3-none-any.whl
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/.templates/jinja/custom_components/pyproject.toml.jinja2 +2 -2
- reflex/.templates/jinja/web/pages/_app.js.jinja2 +1 -1
- reflex/.templates/jinja/web/pages/utils.js.jinja2 +4 -4
- reflex/.templates/jinja/web/utils/context.js.jinja2 +1 -1
- reflex/.templates/jinja/web/utils/theme.js.jinja2 +1 -1
- reflex/.templates/web/utils/state.js +3 -1
- reflex/__init__.py +10 -3
- reflex/__init__.pyi +3 -2
- reflex/app.py +47 -11
- reflex/app_module_for_backend.py +1 -1
- reflex/base.py +3 -2
- reflex/compiler/compiler.py +5 -5
- reflex/compiler/utils.py +5 -3
- reflex/components/base/app_wrap.py +2 -4
- reflex/components/base/app_wrap.pyi +16 -26
- reflex/components/base/bare.py +6 -4
- reflex/components/base/body.pyi +16 -26
- reflex/components/base/document.pyi +76 -126
- reflex/components/base/error_boundary.py +9 -8
- reflex/components/base/error_boundary.pyi +18 -30
- reflex/components/base/fragment.pyi +16 -26
- reflex/components/base/head.pyi +31 -51
- reflex/components/base/link.py +1 -1
- reflex/components/base/link.pyi +31 -51
- reflex/components/base/meta.pyi +61 -101
- reflex/components/base/script.py +2 -2
- reflex/components/base/script.pyi +20 -36
- reflex/components/component.py +107 -130
- reflex/components/core/banner.py +61 -66
- reflex/components/core/banner.pyi +129 -230
- reflex/components/core/client_side_routing.py +2 -2
- reflex/components/core/client_side_routing.pyi +31 -51
- reflex/components/core/clipboard.py +4 -3
- reflex/components/core/clipboard.pyi +19 -31
- reflex/components/core/cond.py +21 -44
- reflex/components/core/debounce.py +7 -9
- reflex/components/core/debounce.pyi +19 -31
- reflex/components/core/foreach.py +4 -14
- reflex/components/core/html.py +1 -1
- reflex/components/core/html.pyi +34 -44
- reflex/components/core/match.py +36 -43
- reflex/components/core/upload.py +27 -26
- reflex/components/core/upload.pyi +81 -116
- reflex/components/datadisplay/code.py +55 -29
- reflex/components/datadisplay/code.pyi +303 -410
- reflex/components/datadisplay/dataeditor.py +13 -9
- reflex/components/datadisplay/dataeditor.pyi +39 -51
- reflex/components/el/__init__.py +0 -1
- reflex/components/el/__init__.pyi +0 -11
- reflex/components/el/element.pyi +16 -26
- reflex/components/el/elements/__init__.py +1 -7
- reflex/components/el/elements/__init__.pyi +1 -15
- reflex/components/el/elements/base.py +1 -1
- reflex/components/el/elements/base.pyi +33 -43
- reflex/components/el/elements/forms.py +26 -33
- reflex/components/el/elements/forms.pyi +542 -694
- reflex/components/el/elements/inline.py +1 -1
- reflex/components/el/elements/inline.pyi +909 -1189
- reflex/components/el/elements/media.py +1 -22
- reflex/components/el/elements/media.pyi +765 -975
- reflex/components/el/elements/metadata.py +3 -5
- reflex/components/el/elements/metadata.pyi +175 -235
- reflex/components/el/elements/other.py +1 -1
- reflex/components/el/elements/other.pyi +228 -298
- reflex/components/el/elements/scripts.py +1 -1
- reflex/components/el/elements/scripts.pyi +106 -136
- reflex/components/el/elements/sectioning.py +0 -2
- reflex/components/el/elements/sectioning.pyi +481 -631
- reflex/components/el/elements/tables.py +1 -1
- reflex/components/el/elements/tables.pyi +341 -441
- reflex/components/el/elements/typography.py +1 -1
- reflex/components/el/elements/typography.pyi +491 -641
- reflex/components/gridjs/datatable.py +9 -13
- reflex/components/gridjs/datatable.pyi +33 -53
- reflex/components/lucide/icon.py +3 -127
- reflex/components/lucide/icon.pyi +31 -160
- reflex/components/markdown/markdown.py +32 -42
- reflex/components/markdown/markdown.pyi +28 -41
- reflex/components/moment/moment.py +13 -12
- reflex/components/moment/moment.pyi +22 -33
- reflex/components/next/base.pyi +16 -26
- reflex/components/next/image.py +1 -5
- reflex/components/next/image.pyi +21 -35
- reflex/components/next/link.py +1 -1
- reflex/components/next/link.pyi +16 -26
- reflex/components/next/video.py +1 -1
- reflex/components/next/video.pyi +16 -26
- reflex/components/plotly/plotly.py +17 -30
- reflex/components/plotly/plotly.pyi +38 -52
- reflex/components/props.py +21 -10
- reflex/components/radix/__init__.pyi +2 -1
- reflex/components/radix/primitives/accordion.py +6 -7
- reflex/components/radix/primitives/accordion.pyi +415 -485
- reflex/components/radix/primitives/base.py +1 -1
- reflex/components/radix/primitives/base.pyi +31 -51
- reflex/components/radix/primitives/drawer.py +1 -1
- reflex/components/radix/primitives/drawer.pyi +162 -262
- reflex/components/radix/primitives/form.py +1 -1
- reflex/components/radix/primitives/form.pyi +247 -353
- reflex/components/radix/primitives/progress.py +1 -1
- reflex/components/radix/primitives/progress.pyi +226 -276
- reflex/components/radix/primitives/slider.py +1 -1
- reflex/components/radix/primitives/slider.pyi +82 -132
- reflex/components/radix/themes/base.py +8 -25
- reflex/components/radix/themes/base.pyi +171 -242
- reflex/components/radix/themes/color_mode.py +11 -20
- reflex/components/radix/themes/color_mode.pyi +198 -231
- reflex/components/radix/themes/components/__init__.pyi +1 -0
- reflex/components/radix/themes/components/alert_dialog.py +1 -1
- reflex/components/radix/themes/components/alert_dialog.pyi +129 -199
- reflex/components/radix/themes/components/aspect_ratio.py +1 -1
- reflex/components/radix/themes/components/aspect_ratio.pyi +16 -26
- reflex/components/radix/themes/components/avatar.py +1 -1
- reflex/components/radix/themes/components/avatar.pyi +69 -79
- reflex/components/radix/themes/components/badge.py +1 -1
- reflex/components/radix/themes/components/badge.pyi +87 -97
- reflex/components/radix/themes/components/button.py +1 -1
- reflex/components/radix/themes/components/button.pyi +97 -107
- reflex/components/radix/themes/components/callout.py +1 -1
- reflex/components/radix/themes/components/callout.pyi +317 -367
- reflex/components/radix/themes/components/card.py +1 -1
- reflex/components/radix/themes/components/card.pyi +37 -47
- reflex/components/radix/themes/components/checkbox.py +2 -4
- reflex/components/radix/themes/components/checkbox.pyi +205 -241
- reflex/components/radix/themes/components/checkbox_cards.py +1 -1
- reflex/components/radix/themes/components/checkbox_cards.pyi +92 -112
- reflex/components/radix/themes/components/checkbox_group.py +1 -1
- reflex/components/radix/themes/components/checkbox_group.pyi +84 -104
- reflex/components/radix/themes/components/context_menu.py +1 -1
- reflex/components/radix/themes/components/context_menu.pyi +230 -310
- reflex/components/radix/themes/components/data_list.py +6 -1
- reflex/components/radix/themes/components/data_list.pyi +131 -166
- reflex/components/radix/themes/components/dialog.py +1 -1
- reflex/components/radix/themes/components/dialog.pyi +132 -202
- reflex/components/radix/themes/components/dropdown_menu.py +1 -1
- reflex/components/radix/themes/components/dropdown_menu.pyi +241 -323
- reflex/components/radix/themes/components/hover_card.py +1 -1
- reflex/components/radix/themes/components/hover_card.pyi +86 -126
- reflex/components/radix/themes/components/icon_button.py +1 -1
- reflex/components/radix/themes/components/icon_button.pyi +97 -107
- reflex/components/radix/themes/components/inset.py +1 -1
- reflex/components/radix/themes/components/inset.pyi +46 -56
- reflex/components/radix/themes/components/popover.py +1 -1
- reflex/components/radix/themes/components/popover.pyi +91 -131
- reflex/components/radix/themes/components/progress.py +1 -1
- reflex/components/radix/themes/components/progress.pyi +70 -80
- reflex/components/radix/themes/components/radio.py +1 -1
- reflex/components/radix/themes/components/radio.pyi +68 -78
- reflex/components/radix/themes/components/radio_cards.py +1 -1
- reflex/components/radix/themes/components/radio_cards.pyi +96 -116
- reflex/components/radix/themes/components/radio_group.py +32 -31
- reflex/components/radix/themes/components/radio_group.pyi +230 -266
- reflex/components/radix/themes/components/scroll_area.py +1 -1
- reflex/components/radix/themes/components/scroll_area.pyi +20 -30
- reflex/components/radix/themes/components/segmented_control.py +1 -1
- reflex/components/radix/themes/components/segmented_control.pyi +88 -110
- reflex/components/radix/themes/components/select.py +1 -1
- reflex/components/radix/themes/components/select.pyi +365 -461
- reflex/components/radix/themes/components/separator.py +2 -4
- reflex/components/radix/themes/components/separator.pyi +68 -78
- reflex/components/radix/themes/components/skeleton.py +1 -1
- reflex/components/radix/themes/components/skeleton.pyi +22 -32
- reflex/components/radix/themes/components/slider.py +1 -1
- reflex/components/radix/themes/components/slider.pyi +74 -86
- reflex/components/radix/themes/components/spinner.py +1 -1
- reflex/components/radix/themes/components/spinner.pyi +18 -28
- reflex/components/radix/themes/components/switch.py +1 -1
- reflex/components/radix/themes/components/switch.pyi +70 -82
- reflex/components/radix/themes/components/table.py +1 -1
- reflex/components/radix/themes/components/table.pyi +254 -324
- reflex/components/radix/themes/components/tabs.py +1 -1
- reflex/components/radix/themes/components/tabs.pyi +134 -188
- reflex/components/radix/themes/components/text_area.py +1 -1
- reflex/components/radix/themes/components/text_area.pyi +95 -109
- reflex/components/radix/themes/components/text_field.py +1 -80
- reflex/components/radix/themes/components/text_field.pyi +245 -290
- reflex/components/radix/themes/components/tooltip.py +1 -1
- reflex/components/radix/themes/components/tooltip.pyi +25 -35
- reflex/components/radix/themes/layout/__init__.pyi +1 -0
- reflex/components/radix/themes/layout/base.py +1 -1
- reflex/components/radix/themes/layout/base.pyi +55 -65
- reflex/components/radix/themes/layout/box.pyi +33 -43
- reflex/components/radix/themes/layout/center.pyi +55 -65
- reflex/components/radix/themes/layout/container.py +2 -4
- reflex/components/radix/themes/layout/container.pyi +35 -45
- reflex/components/radix/themes/layout/flex.py +1 -1
- reflex/components/radix/themes/layout/flex.pyi +55 -65
- reflex/components/radix/themes/layout/grid.py +1 -1
- reflex/components/radix/themes/layout/grid.pyi +63 -73
- reflex/components/radix/themes/layout/list.py +1 -1
- reflex/components/radix/themes/layout/list.pyi +188 -238
- reflex/components/radix/themes/layout/section.py +2 -4
- reflex/components/radix/themes/layout/section.pyi +35 -45
- reflex/components/radix/themes/layout/spacer.pyi +55 -65
- reflex/components/radix/themes/layout/stack.py +1 -1
- reflex/components/radix/themes/layout/stack.pyi +125 -155
- reflex/components/radix/themes/typography/blockquote.py +1 -1
- reflex/components/radix/themes/typography/blockquote.pyi +88 -98
- reflex/components/radix/themes/typography/code.py +1 -1
- reflex/components/radix/themes/typography/code.pyi +89 -99
- reflex/components/radix/themes/typography/heading.py +1 -1
- reflex/components/radix/themes/typography/heading.pyi +95 -105
- reflex/components/radix/themes/typography/link.py +1 -1
- reflex/components/radix/themes/typography/link.pyi +101 -111
- reflex/components/radix/themes/typography/text.py +1 -1
- reflex/components/radix/themes/typography/text.pyi +494 -564
- reflex/components/react_player/audio.pyi +32 -58
- reflex/components/react_player/react_player.py +1 -1
- reflex/components/react_player/react_player.pyi +32 -58
- reflex/components/react_player/video.pyi +32 -58
- reflex/components/recharts/cartesian.py +22 -19
- reflex/components/recharts/cartesian.pyi +658 -840
- reflex/components/recharts/charts.py +3 -3
- reflex/components/recharts/charts.pyi +238 -342
- reflex/components/recharts/general.py +8 -8
- reflex/components/recharts/general.pyi +175 -225
- reflex/components/recharts/polar.py +11 -11
- reflex/components/recharts/polar.pyi +135 -171
- reflex/components/recharts/recharts.pyi +31 -51
- reflex/components/sonner/toast.py +27 -31
- reflex/components/sonner/toast.pyi +36 -45
- reflex/components/suneditor/editor.py +1 -1
- reflex/components/suneditor/editor.pyi +54 -76
- reflex/components/tags/cond_tag.py +6 -4
- reflex/components/tags/iter_tag.py +37 -25
- reflex/components/tags/match_tag.py +6 -4
- reflex/components/tags/tag.py +43 -28
- reflex/constants/base.py +3 -1
- reflex/constants/event.py +1 -0
- reflex/custom_components/custom_components.py +3 -1
- reflex/event.py +166 -108
- reflex/experimental/__init__.py +25 -6
- reflex/experimental/client_state.py +34 -57
- reflex/experimental/hooks.py +12 -17
- reflex/experimental/layout.py +4 -4
- reflex/experimental/layout.pyi +130 -180
- reflex/middleware/hydrate_middleware.py +2 -0
- reflex/middleware/middleware.py +3 -3
- reflex/model.py +22 -0
- reflex/reflex.py +4 -0
- reflex/state.py +491 -110
- reflex/style.py +56 -39
- reflex/testing.py +8 -3
- reflex/utils/exceptions.py +32 -0
- reflex/utils/exec.py +0 -14
- reflex/utils/format.py +80 -209
- reflex/utils/imports.py +16 -73
- reflex/utils/net.py +43 -0
- reflex/utils/path_ops.py +13 -1
- reflex/utils/prerequisites.py +81 -41
- reflex/utils/pyi_generator.py +12 -6
- reflex/utils/serializers.py +13 -41
- reflex/utils/telemetry.py +3 -2
- reflex/utils/types.py +47 -7
- reflex/{experimental/vars → vars}/__init__.py +6 -3
- reflex/vars/base.py +2563 -0
- reflex/vars/function.py +196 -0
- reflex/vars/number.py +1158 -0
- reflex/vars/object.py +562 -0
- reflex/vars/sequence.py +1604 -0
- {reflex-0.5.10a3.dist-info → reflex-0.6.0.dist-info}/METADATA +6 -9
- reflex-0.6.0.dist-info/RECORD +382 -0
- reflex/.templates/apps/demo/.gitignore +0 -4
- reflex/.templates/apps/demo/assets/favicon.ico +0 -0
- reflex/.templates/apps/demo/assets/github.svg +0 -10
- reflex/.templates/apps/demo/assets/icon.svg +0 -37
- reflex/.templates/apps/demo/assets/logo.svg +0 -68
- reflex/.templates/apps/demo/assets/paneleft.svg +0 -13
- reflex/.templates/apps/demo/code/__init__.py +0 -1
- reflex/.templates/apps/demo/code/demo.py +0 -127
- reflex/.templates/apps/demo/code/pages/__init__.py +0 -7
- reflex/.templates/apps/demo/code/pages/chatapp.py +0 -31
- reflex/.templates/apps/demo/code/pages/datatable.py +0 -360
- reflex/.templates/apps/demo/code/pages/forms.py +0 -257
- reflex/.templates/apps/demo/code/pages/graphing.py +0 -253
- reflex/.templates/apps/demo/code/pages/home.py +0 -56
- reflex/.templates/apps/demo/code/sidebar.py +0 -178
- reflex/.templates/apps/demo/code/state.py +0 -22
- reflex/.templates/apps/demo/code/states/form_state.py +0 -40
- reflex/.templates/apps/demo/code/states/pie_state.py +0 -47
- reflex/.templates/apps/demo/code/styles.py +0 -68
- reflex/.templates/apps/demo/code/webui/__init__.py +0 -0
- reflex/.templates/apps/demo/code/webui/components/__init__.py +0 -4
- reflex/.templates/apps/demo/code/webui/components/chat.py +0 -118
- reflex/.templates/apps/demo/code/webui/components/loading_icon.py +0 -19
- reflex/.templates/apps/demo/code/webui/components/modal.py +0 -56
- reflex/.templates/apps/demo/code/webui/components/navbar.py +0 -70
- reflex/.templates/apps/demo/code/webui/components/sidebar.py +0 -66
- reflex/.templates/apps/demo/code/webui/state.py +0 -146
- reflex/.templates/apps/demo/code/webui/styles.py +0 -88
- reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -36
- reflex/experimental/vars/base.py +0 -583
- reflex/experimental/vars/function.py +0 -290
- reflex/experimental/vars/number.py +0 -1458
- reflex/experimental/vars/object.py +0 -804
- reflex/experimental/vars/sequence.py +0 -1764
- reflex/utils/watch.py +0 -96
- reflex/vars.py +0 -2604
- reflex/vars.pyi +0 -218
- reflex-0.5.10a3.dist-info/RECORD +0 -413
- {reflex-0.5.10a3.dist-info → reflex-0.6.0.dist-info}/LICENSE +0 -0
- {reflex-0.5.10a3.dist-info → reflex-0.6.0.dist-info}/WHEEL +0 -0
- {reflex-0.5.10a3.dist-info → reflex-0.6.0.dist-info}/entry_points.txt +0 -0
reflex/components/next/link.pyi
CHANGED
|
@@ -8,7 +8,7 @@ from typing import Any, Callable, Dict, Optional, Union, overload
|
|
|
8
8
|
from reflex.components.component import Component
|
|
9
9
|
from reflex.event import EventHandler, EventSpec
|
|
10
10
|
from reflex.style import Style
|
|
11
|
-
from reflex.vars import
|
|
11
|
+
from reflex.vars.base import Var
|
|
12
12
|
|
|
13
13
|
class NextLink(Component):
|
|
14
14
|
@overload
|
|
@@ -24,50 +24,40 @@ class NextLink(Component):
|
|
|
24
24
|
class_name: Optional[Any] = None,
|
|
25
25
|
autofocus: Optional[bool] = None,
|
|
26
26
|
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
27
|
-
on_blur: Optional[
|
|
28
|
-
|
|
29
|
-
] = None,
|
|
30
|
-
on_click: Optional[
|
|
31
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
32
|
-
] = None,
|
|
27
|
+
on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
28
|
+
on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
33
29
|
on_context_menu: Optional[
|
|
34
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
30
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
35
31
|
] = None,
|
|
36
32
|
on_double_click: Optional[
|
|
37
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
38
|
-
] = None,
|
|
39
|
-
on_focus: Optional[
|
|
40
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
41
|
-
] = None,
|
|
42
|
-
on_mount: Optional[
|
|
43
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
33
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
44
34
|
] = None,
|
|
35
|
+
on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
36
|
+
on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
45
37
|
on_mouse_down: Optional[
|
|
46
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
38
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
47
39
|
] = None,
|
|
48
40
|
on_mouse_enter: Optional[
|
|
49
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
41
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
50
42
|
] = None,
|
|
51
43
|
on_mouse_leave: Optional[
|
|
52
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
44
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
53
45
|
] = None,
|
|
54
46
|
on_mouse_move: Optional[
|
|
55
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
47
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
56
48
|
] = None,
|
|
57
49
|
on_mouse_out: Optional[
|
|
58
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
50
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
59
51
|
] = None,
|
|
60
52
|
on_mouse_over: Optional[
|
|
61
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
53
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
62
54
|
] = None,
|
|
63
55
|
on_mouse_up: Optional[
|
|
64
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
65
|
-
] = None,
|
|
66
|
-
on_scroll: Optional[
|
|
67
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
56
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
68
57
|
] = None,
|
|
58
|
+
on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
69
59
|
on_unmount: Optional[
|
|
70
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
60
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
71
61
|
] = None,
|
|
72
62
|
**props,
|
|
73
63
|
) -> "NextLink":
|
reflex/components/next/video.py
CHANGED
reflex/components/next/video.pyi
CHANGED
|
@@ -8,7 +8,7 @@ from typing import Any, Callable, Dict, Optional, Union, overload
|
|
|
8
8
|
from reflex.components.component import Component
|
|
9
9
|
from reflex.event import EventHandler, EventSpec
|
|
10
10
|
from reflex.style import Style
|
|
11
|
-
from reflex.vars import
|
|
11
|
+
from reflex.vars.base import Var
|
|
12
12
|
|
|
13
13
|
from .base import NextComponent
|
|
14
14
|
|
|
@@ -26,50 +26,40 @@ class Video(NextComponent):
|
|
|
26
26
|
class_name: Optional[Any] = None,
|
|
27
27
|
autofocus: Optional[bool] = None,
|
|
28
28
|
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
29
|
-
on_blur: Optional[
|
|
30
|
-
|
|
31
|
-
] = None,
|
|
32
|
-
on_click: Optional[
|
|
33
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
34
|
-
] = None,
|
|
29
|
+
on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
30
|
+
on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
35
31
|
on_context_menu: Optional[
|
|
36
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
32
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
37
33
|
] = None,
|
|
38
34
|
on_double_click: Optional[
|
|
39
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
40
|
-
] = None,
|
|
41
|
-
on_focus: Optional[
|
|
42
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
43
|
-
] = None,
|
|
44
|
-
on_mount: Optional[
|
|
45
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
35
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
46
36
|
] = None,
|
|
37
|
+
on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
38
|
+
on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
47
39
|
on_mouse_down: Optional[
|
|
48
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
40
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
49
41
|
] = None,
|
|
50
42
|
on_mouse_enter: Optional[
|
|
51
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
43
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
52
44
|
] = None,
|
|
53
45
|
on_mouse_leave: Optional[
|
|
54
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
46
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
55
47
|
] = None,
|
|
56
48
|
on_mouse_move: Optional[
|
|
57
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
49
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
58
50
|
] = None,
|
|
59
51
|
on_mouse_out: Optional[
|
|
60
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
52
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
61
53
|
] = None,
|
|
62
54
|
on_mouse_over: Optional[
|
|
63
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
55
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
64
56
|
] = None,
|
|
65
57
|
on_mouse_up: Optional[
|
|
66
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
67
|
-
] = None,
|
|
68
|
-
on_scroll: Optional[
|
|
69
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
58
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
70
59
|
] = None,
|
|
60
|
+
on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
71
61
|
on_unmount: Optional[
|
|
72
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
62
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
73
63
|
] = None,
|
|
74
64
|
**props,
|
|
75
65
|
) -> "Video":
|
|
@@ -9,7 +9,7 @@ from reflex.components.component import Component, NoSSRComponent
|
|
|
9
9
|
from reflex.components.core.cond import color_mode_cond
|
|
10
10
|
from reflex.event import EventHandler
|
|
11
11
|
from reflex.utils import console
|
|
12
|
-
from reflex.vars import Var
|
|
12
|
+
from reflex.vars.base import LiteralVar, Var
|
|
13
13
|
|
|
14
14
|
try:
|
|
15
15
|
from plotly.graph_objects import Figure, layout
|
|
@@ -30,7 +30,7 @@ def _event_data_signature(e0: Var) -> List[Any]:
|
|
|
30
30
|
Returns:
|
|
31
31
|
The event key extracted from the event data (if defined).
|
|
32
32
|
"""
|
|
33
|
-
return [Var
|
|
33
|
+
return [Var(_js_expr=f"{e0}?.event")]
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
def _event_points_data_signature(e0: Var) -> List[Any]:
|
|
@@ -43,11 +43,8 @@ def _event_points_data_signature(e0: Var) -> List[Any]:
|
|
|
43
43
|
The event data and the extracted points.
|
|
44
44
|
"""
|
|
45
45
|
return [
|
|
46
|
-
Var
|
|
47
|
-
Var
|
|
48
|
-
f"extractPoints({e0}?.points)",
|
|
49
|
-
_var_is_string=False,
|
|
50
|
-
),
|
|
46
|
+
Var(_js_expr=f"{e0}?.event"),
|
|
47
|
+
Var(_js_expr=f"extractPoints({e0}?.points)"),
|
|
51
48
|
]
|
|
52
49
|
|
|
53
50
|
|
|
@@ -104,19 +101,19 @@ class Plotly(NoSSRComponent):
|
|
|
104
101
|
is_default = True
|
|
105
102
|
|
|
106
103
|
# The figure to display. This can be a plotly figure or a plotly data json.
|
|
107
|
-
data: Var[Figure]
|
|
104
|
+
data: Var[Figure] # type: ignore
|
|
108
105
|
|
|
109
106
|
# The layout of the graph.
|
|
110
107
|
layout: Var[Dict]
|
|
111
108
|
|
|
112
109
|
# The template for visual appearance of the graph.
|
|
113
|
-
template: Var[Template]
|
|
110
|
+
template: Var[Template] # type: ignore
|
|
114
111
|
|
|
115
112
|
# The config of the graph.
|
|
116
113
|
config: Var[Dict]
|
|
117
114
|
|
|
118
115
|
# If true, the graph will resize when the window is resized.
|
|
119
|
-
use_resize_handler: Var[bool] =
|
|
116
|
+
use_resize_handler: Var[bool] = LiteralVar.create(True)
|
|
120
117
|
|
|
121
118
|
# Fired after the plot is redrawn.
|
|
122
119
|
on_after_plot: EventHandler[_passthrough_signature]
|
|
@@ -242,8 +239,8 @@ const extractPoints = (points) => {
|
|
|
242
239
|
from plotly.io import templates
|
|
243
240
|
|
|
244
241
|
responsive_template = color_mode_cond(
|
|
245
|
-
light=
|
|
246
|
-
dark=
|
|
242
|
+
light=LiteralVar.create(templates["plotly"]),
|
|
243
|
+
dark=LiteralVar.create(templates["plotly_dark"]),
|
|
247
244
|
)
|
|
248
245
|
if isinstance(responsive_template, Var):
|
|
249
246
|
# Mark the conditional Var as a Template to avoid type mismatch
|
|
@@ -263,30 +260,20 @@ const extractPoints = (points) => {
|
|
|
263
260
|
# Why is this not a literal dict? Great question... it didn't work
|
|
264
261
|
# reliably because of how _var_name_unwrapped strips the outer curly
|
|
265
262
|
# brackets if any of the contained Vars depend on state.
|
|
266
|
-
layout_dict =
|
|
267
|
-
f"{{'layout': {self.layout.to(dict)._var_name_unwrapped}}}"
|
|
268
|
-
).to(dict)
|
|
263
|
+
layout_dict = LiteralVar.create({"layout": self.layout})
|
|
269
264
|
merge_dicts.append(layout_dict)
|
|
270
265
|
if self.template is not None:
|
|
271
|
-
template_dict =
|
|
272
|
-
|
|
273
|
-
)
|
|
274
|
-
template_dict._var_data = None # To avoid stripping outer curly brackets
|
|
275
|
-
merge_dicts.append(template_dict)
|
|
266
|
+
template_dict = LiteralVar.create({"layout": {"template": self.template}})
|
|
267
|
+
merge_dicts.append(template_dict.without_data())
|
|
276
268
|
if merge_dicts:
|
|
277
|
-
tag.special_props.
|
|
269
|
+
tag.special_props.append(
|
|
278
270
|
# Merge all dictionaries and spread the result over props.
|
|
279
|
-
Var
|
|
280
|
-
f"{{...mergician({figure
|
|
281
|
-
f"{','.join(md
|
|
282
|
-
_var_is_string=False,
|
|
271
|
+
Var(
|
|
272
|
+
_js_expr=f"{{...mergician({str(figure)},"
|
|
273
|
+
f"{','.join(str(md) for md in merge_dicts)})}}",
|
|
283
274
|
),
|
|
284
275
|
)
|
|
285
276
|
else:
|
|
286
277
|
# Spread the figure dict over props, nothing to merge.
|
|
287
|
-
tag.special_props.
|
|
288
|
-
Var.create_safe(
|
|
289
|
-
f"{{...{figure._var_name_unwrapped}}}", _var_is_string=False
|
|
290
|
-
)
|
|
291
|
-
)
|
|
278
|
+
tag.special_props.append(Var(_js_expr=f"{{...{str(figure)}}}"))
|
|
292
279
|
return tag
|
|
@@ -10,7 +10,7 @@ from reflex.components.component import NoSSRComponent
|
|
|
10
10
|
from reflex.event import EventHandler, EventSpec
|
|
11
11
|
from reflex.style import Style
|
|
12
12
|
from reflex.utils import console
|
|
13
|
-
from reflex.vars import
|
|
13
|
+
from reflex.vars.base import Var
|
|
14
14
|
|
|
15
15
|
try:
|
|
16
16
|
from plotly.graph_objects import Figure, layout
|
|
@@ -34,10 +34,10 @@ class Plotly(NoSSRComponent):
|
|
|
34
34
|
def create( # type: ignore
|
|
35
35
|
cls,
|
|
36
36
|
*children,
|
|
37
|
-
data: Optional[Union[
|
|
38
|
-
layout: Optional[Union[
|
|
39
|
-
template: Optional[Union[
|
|
40
|
-
config: Optional[Union[
|
|
37
|
+
data: Optional[Union[Figure, Var[Figure]]] = None, # type: ignore
|
|
38
|
+
layout: Optional[Union[Dict, Var[Dict]]] = None,
|
|
39
|
+
template: Optional[Union[Template, Var[Template]]] = None, # type: ignore
|
|
40
|
+
config: Optional[Union[Dict, Var[Dict]]] = None,
|
|
41
41
|
use_resize_handler: Optional[Union[Var[bool], bool]] = None,
|
|
42
42
|
style: Optional[Style] = None,
|
|
43
43
|
key: Optional[Any] = None,
|
|
@@ -46,103 +46,89 @@ class Plotly(NoSSRComponent):
|
|
|
46
46
|
autofocus: Optional[bool] = None,
|
|
47
47
|
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
48
48
|
on_after_plot: Optional[
|
|
49
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
49
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
50
50
|
] = None,
|
|
51
51
|
on_animated: Optional[
|
|
52
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
52
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
53
53
|
] = None,
|
|
54
54
|
on_animating_frame: Optional[
|
|
55
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
55
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
56
56
|
] = None,
|
|
57
57
|
on_animation_interrupted: Optional[
|
|
58
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
58
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
59
59
|
] = None,
|
|
60
60
|
on_autosize: Optional[
|
|
61
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
61
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
62
62
|
] = None,
|
|
63
63
|
on_before_hover: Optional[
|
|
64
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
65
|
-
] = None,
|
|
66
|
-
on_blur: Optional[
|
|
67
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
64
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
68
65
|
] = None,
|
|
66
|
+
on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
69
67
|
on_button_clicked: Optional[
|
|
70
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
71
|
-
] = None,
|
|
72
|
-
on_click: Optional[
|
|
73
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
68
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
74
69
|
] = None,
|
|
70
|
+
on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
75
71
|
on_context_menu: Optional[
|
|
76
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
72
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
77
73
|
] = None,
|
|
78
74
|
on_deselect: Optional[
|
|
79
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
75
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
80
76
|
] = None,
|
|
81
77
|
on_double_click: Optional[
|
|
82
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
83
|
-
] = None,
|
|
84
|
-
on_focus: Optional[
|
|
85
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
86
|
-
] = None,
|
|
87
|
-
on_hover: Optional[
|
|
88
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
89
|
-
] = None,
|
|
90
|
-
on_mount: Optional[
|
|
91
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
78
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
92
79
|
] = None,
|
|
80
|
+
on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
81
|
+
on_hover: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
82
|
+
on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
93
83
|
on_mouse_down: Optional[
|
|
94
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
84
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
95
85
|
] = None,
|
|
96
86
|
on_mouse_enter: Optional[
|
|
97
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
87
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
98
88
|
] = None,
|
|
99
89
|
on_mouse_leave: Optional[
|
|
100
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
90
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
101
91
|
] = None,
|
|
102
92
|
on_mouse_move: Optional[
|
|
103
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
93
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
104
94
|
] = None,
|
|
105
95
|
on_mouse_out: Optional[
|
|
106
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
96
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
107
97
|
] = None,
|
|
108
98
|
on_mouse_over: Optional[
|
|
109
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
99
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
110
100
|
] = None,
|
|
111
101
|
on_mouse_up: Optional[
|
|
112
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
113
|
-
] = None,
|
|
114
|
-
on_redraw: Optional[
|
|
115
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
102
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
116
103
|
] = None,
|
|
104
|
+
on_redraw: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
117
105
|
on_relayout: Optional[
|
|
118
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
106
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
119
107
|
] = None,
|
|
120
108
|
on_relayouting: Optional[
|
|
121
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
109
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
122
110
|
] = None,
|
|
123
111
|
on_restyle: Optional[
|
|
124
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
125
|
-
] = None,
|
|
126
|
-
on_scroll: Optional[
|
|
127
|
-
Union[EventHandler, EventSpec, list, Callable, BaseVar]
|
|
112
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
128
113
|
] = None,
|
|
114
|
+
on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
129
115
|
on_selected: Optional[
|
|
130
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
116
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
131
117
|
] = None,
|
|
132
118
|
on_selecting: Optional[
|
|
133
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
119
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
134
120
|
] = None,
|
|
135
121
|
on_transition_interrupted: Optional[
|
|
136
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
122
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
137
123
|
] = None,
|
|
138
124
|
on_transitioning: Optional[
|
|
139
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
125
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
140
126
|
] = None,
|
|
141
127
|
on_unhover: Optional[
|
|
142
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
128
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
143
129
|
] = None,
|
|
144
130
|
on_unmount: Optional[
|
|
145
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
131
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
146
132
|
] = None,
|
|
147
133
|
**props,
|
|
148
134
|
) -> "Plotly":
|
reflex/components/props.py
CHANGED
|
@@ -4,7 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
from reflex.base import Base
|
|
6
6
|
from reflex.utils import format
|
|
7
|
-
from reflex.
|
|
7
|
+
from reflex.vars.object import LiteralObjectVar
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
class PropsBase(Base):
|
|
@@ -20,12 +20,23 @@ class PropsBase(Base):
|
|
|
20
20
|
Returns:
|
|
21
21
|
The object as a Javascript Object literal.
|
|
22
22
|
"""
|
|
23
|
-
return
|
|
24
|
-
self.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
return LiteralObjectVar.create(
|
|
24
|
+
{format.to_camel_case(key): value for key, value in self.dict().items()}
|
|
25
|
+
).json()
|
|
26
|
+
|
|
27
|
+
def dict(self, *args, **kwargs):
|
|
28
|
+
"""Convert the object to a dictionary.
|
|
29
|
+
|
|
30
|
+
Keys will be converted to camelCase.
|
|
31
|
+
|
|
32
|
+
Args:
|
|
33
|
+
*args: Arguments to pass to the parent class.
|
|
34
|
+
**kwargs: Keyword arguments to pass to the parent class.
|
|
35
|
+
|
|
36
|
+
Returns:
|
|
37
|
+
The object as a dictionary.
|
|
38
|
+
"""
|
|
39
|
+
return {
|
|
40
|
+
format.to_camel_case(key): value
|
|
41
|
+
for key, value in super().dict(*args, **kwargs).items()
|
|
42
|
+
}
|
|
@@ -8,7 +8,6 @@ from . import themes as themes
|
|
|
8
8
|
from .primitives.accordion import accordion as accordion
|
|
9
9
|
from .primitives.drawer import drawer as drawer
|
|
10
10
|
from .primitives.form import form as form
|
|
11
|
-
from .primitives.progress import progress as progress
|
|
12
11
|
from .themes.base import theme as theme
|
|
13
12
|
from .themes.base import theme_panel as theme_panel
|
|
14
13
|
from .themes.color_mode import color_mode as color_mode
|
|
@@ -31,6 +30,7 @@ from .themes.components.hover_card import hover_card as hover_card
|
|
|
31
30
|
from .themes.components.icon_button import icon_button as icon_button
|
|
32
31
|
from .themes.components.inset import inset as inset
|
|
33
32
|
from .themes.components.popover import popover as popover
|
|
33
|
+
from .themes.components.progress import progress as progress
|
|
34
34
|
from .themes.components.radio_cards import radio_cards as radio_cards
|
|
35
35
|
from .themes.components.radio_group import radio as radio
|
|
36
36
|
from .themes.components.radio_group import radio_group as radio_group
|
|
@@ -55,6 +55,7 @@ from .themes.layout.container import container as container
|
|
|
55
55
|
from .themes.layout.flex import flex as flex
|
|
56
56
|
from .themes.layout.grid import grid as grid
|
|
57
57
|
from .themes.layout.list import list_item as list_item
|
|
58
|
+
from .themes.layout.list import list_ns as list # noqa
|
|
58
59
|
from .themes.layout.list import ordered_list as ordered_list
|
|
59
60
|
from .themes.layout.list import unordered_list as unordered_list
|
|
60
61
|
from .themes.layout.section import section as section
|
|
@@ -12,7 +12,8 @@ from reflex.components.radix.primitives.base import RadixPrimitiveComponent
|
|
|
12
12
|
from reflex.components.radix.themes.base import LiteralAccentColor, LiteralRadius
|
|
13
13
|
from reflex.event import EventHandler
|
|
14
14
|
from reflex.style import Style
|
|
15
|
-
from reflex.vars import
|
|
15
|
+
from reflex.vars import get_uuid_string_var
|
|
16
|
+
from reflex.vars.base import LiteralVar, Var
|
|
16
17
|
|
|
17
18
|
LiteralAccordionType = Literal["single", "multiple"]
|
|
18
19
|
LiteralAccordionDir = Literal["ltr", "rtl"]
|
|
@@ -102,10 +103,10 @@ class AccordionRoot(AccordionComponent):
|
|
|
102
103
|
radius: Var[LiteralRadius]
|
|
103
104
|
|
|
104
105
|
# The time in milliseconds to animate open and close
|
|
105
|
-
duration: Var[int] =
|
|
106
|
+
duration: Var[int] = LiteralVar.create(DEFAULT_ANIMATION_DURATION)
|
|
106
107
|
|
|
107
108
|
# The easing function to use for the animation.
|
|
108
|
-
easing: Var[str] =
|
|
109
|
+
easing: Var[str] = LiteralVar.create(DEFAULT_ANIMATION_EASING)
|
|
109
110
|
|
|
110
111
|
# Whether to show divider lines between items.
|
|
111
112
|
show_dividers: Var[bool]
|
|
@@ -464,14 +465,12 @@ to {
|
|
|
464
465
|
Returns:
|
|
465
466
|
The style of the component.
|
|
466
467
|
"""
|
|
467
|
-
slideDown =
|
|
468
|
+
slideDown = LiteralVar.create(
|
|
468
469
|
f"${{slideDown}} var(--animation-duration) var(--animation-easing)",
|
|
469
|
-
_var_is_string=True,
|
|
470
470
|
)
|
|
471
471
|
|
|
472
|
-
slideUp =
|
|
472
|
+
slideUp = LiteralVar.create(
|
|
473
473
|
f"${{slideUp}} var(--animation-duration) var(--animation-easing)",
|
|
474
|
-
_var_is_string=True,
|
|
475
474
|
)
|
|
476
475
|
|
|
477
476
|
return {
|