reflex 0.6.0a1__py3-none-any.whl → 0.6.0a3__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 +2 -2
- reflex/__init__.py +8 -2
- reflex/__init__.pyi +2 -1
- reflex/app.py +10 -4
- reflex/base.py +1 -1
- reflex/compiler/compiler.py +2 -2
- reflex/compiler/utils.py +3 -3
- reflex/components/base/app_wrap.py +2 -2
- reflex/components/base/app_wrap.pyi +17 -27
- reflex/components/base/bare.py +4 -5
- reflex/components/base/body.pyi +17 -27
- reflex/components/base/document.pyi +81 -131
- reflex/components/base/error_boundary.py +6 -7
- reflex/components/base/error_boundary.pyi +20 -33
- reflex/components/base/fragment.pyi +17 -27
- reflex/components/base/head.pyi +33 -53
- reflex/components/base/link.py +1 -1
- reflex/components/base/link.pyi +33 -54
- reflex/components/base/meta.pyi +65 -105
- reflex/components/base/script.py +1 -2
- reflex/components/base/script.pyi +21 -38
- reflex/components/component.py +45 -47
- reflex/components/core/banner.py +23 -27
- reflex/components/core/banner.pyi +134 -171
- reflex/components/core/breakpoints.py +3 -1
- reflex/components/core/client_side_routing.py +2 -3
- reflex/components/core/client_side_routing.pyi +33 -54
- reflex/components/core/clipboard.py +2 -1
- reflex/components/core/clipboard.pyi +20 -33
- reflex/components/core/cond.py +5 -5
- reflex/components/core/debounce.py +5 -5
- reflex/components/core/debounce.pyi +20 -33
- reflex/components/core/foreach.py +3 -4
- reflex/components/core/html.py +1 -1
- reflex/components/core/html.pyi +35 -46
- reflex/components/core/match.py +17 -17
- reflex/components/core/upload.py +17 -23
- reflex/components/core/upload.pyi +78 -124
- reflex/components/datadisplay/code.py +9 -10
- reflex/components/datadisplay/code.pyi +302 -412
- reflex/components/datadisplay/dataeditor.py +8 -10
- reflex/components/datadisplay/dataeditor.pyi +40 -53
- reflex/components/el/element.pyi +17 -27
- reflex/components/el/elements/base.py +1 -1
- reflex/components/el/elements/base.pyi +34 -45
- reflex/components/el/elements/forms.py +16 -16
- reflex/components/el/elements/forms.pyi +554 -707
- reflex/components/el/elements/inline.py +1 -1
- reflex/components/el/elements/inline.pyi +937 -1218
- reflex/components/el/elements/media.py +1 -1
- reflex/components/el/elements/media.pyi +786 -997
- reflex/components/el/elements/metadata.py +3 -6
- reflex/components/el/elements/metadata.pyi +181 -242
- reflex/components/el/elements/other.py +1 -1
- reflex/components/el/elements/other.pyi +235 -306
- reflex/components/el/elements/scripts.py +1 -1
- reflex/components/el/elements/scripts.pyi +109 -140
- reflex/components/el/elements/sectioning.py +0 -2
- reflex/components/el/elements/sectioning.pyi +496 -647
- reflex/components/el/elements/tables.py +1 -1
- reflex/components/el/elements/tables.pyi +351 -452
- reflex/components/el/elements/typography.py +1 -1
- reflex/components/el/elements/typography.pyi +506 -657
- reflex/components/gridjs/datatable.py +6 -9
- reflex/components/gridjs/datatable.pyi +35 -56
- reflex/components/lucide/icon.py +1 -1
- reflex/components/lucide/icon.pyi +33 -54
- reflex/components/markdown/markdown.py +26 -31
- reflex/components/markdown/markdown.pyi +27 -37
- reflex/components/moment/moment.py +13 -12
- reflex/components/moment/moment.pyi +23 -35
- reflex/components/next/base.pyi +17 -27
- reflex/components/next/image.py +1 -1
- reflex/components/next/image.pyi +22 -37
- reflex/components/next/link.py +1 -1
- reflex/components/next/link.pyi +17 -28
- reflex/components/next/video.py +1 -1
- reflex/components/next/video.pyi +17 -28
- reflex/components/plotly/plotly.py +12 -13
- reflex/components/plotly/plotly.pyi +39 -54
- reflex/components/props.py +1 -1
- reflex/components/radix/__init__.pyi +1 -0
- reflex/components/radix/primitives/__init__.pyi +1 -0
- reflex/components/radix/primitives/accordion.py +4 -4
- reflex/components/radix/primitives/accordion.pyi +424 -495
- reflex/components/radix/primitives/base.py +1 -1
- reflex/components/radix/primitives/base.pyi +33 -54
- reflex/components/radix/primitives/drawer.py +1 -1
- reflex/components/radix/primitives/drawer.pyi +172 -273
- reflex/components/radix/primitives/form.py +1 -1
- reflex/components/radix/primitives/form.pyi +257 -364
- reflex/components/radix/primitives/progress.py +1 -1
- reflex/components/radix/primitives/progress.pyi +231 -282
- reflex/components/radix/primitives/slider.py +1 -1
- reflex/components/radix/primitives/slider.pyi +87 -138
- reflex/components/radix/themes/base.py +3 -24
- reflex/components/radix/themes/base.pyi +178 -250
- reflex/components/radix/themes/color_mode.py +5 -5
- reflex/components/radix/themes/color_mode.pyi +187 -220
- reflex/components/radix/themes/components/alert_dialog.py +1 -1
- reflex/components/radix/themes/components/alert_dialog.pyi +136 -207
- reflex/components/radix/themes/components/aspect_ratio.py +1 -1
- reflex/components/radix/themes/components/aspect_ratio.pyi +17 -28
- reflex/components/radix/themes/components/avatar.py +1 -1
- reflex/components/radix/themes/components/avatar.pyi +70 -81
- reflex/components/radix/themes/components/badge.py +1 -1
- reflex/components/radix/themes/components/badge.pyi +88 -99
- reflex/components/radix/themes/components/button.py +1 -1
- reflex/components/radix/themes/components/button.pyi +98 -109
- reflex/components/radix/themes/components/callout.py +1 -1
- reflex/components/radix/themes/components/callout.pyi +322 -373
- reflex/components/radix/themes/components/card.py +1 -1
- reflex/components/radix/themes/components/card.pyi +38 -49
- reflex/components/radix/themes/components/checkbox.py +1 -2
- reflex/components/radix/themes/components/checkbox.pyi +208 -245
- reflex/components/radix/themes/components/checkbox_cards.py +1 -1
- reflex/components/radix/themes/components/checkbox_cards.pyi +94 -115
- reflex/components/radix/themes/components/checkbox_group.py +1 -1
- reflex/components/radix/themes/components/checkbox_group.pyi +86 -107
- reflex/components/radix/themes/components/context_menu.py +1 -1
- reflex/components/radix/themes/components/context_menu.pyi +238 -319
- reflex/components/radix/themes/components/data_list.py +1 -1
- reflex/components/radix/themes/components/data_list.pyi +130 -171
- reflex/components/radix/themes/components/dialog.py +1 -1
- reflex/components/radix/themes/components/dialog.pyi +139 -210
- reflex/components/radix/themes/components/dropdown_menu.py +1 -1
- reflex/components/radix/themes/components/dropdown_menu.pyi +249 -332
- reflex/components/radix/themes/components/hover_card.py +1 -1
- reflex/components/radix/themes/components/hover_card.pyi +90 -131
- reflex/components/radix/themes/components/icon_button.py +2 -3
- reflex/components/radix/themes/components/icon_button.pyi +98 -109
- reflex/components/radix/themes/components/inset.py +1 -1
- reflex/components/radix/themes/components/inset.pyi +47 -58
- reflex/components/radix/themes/components/popover.py +1 -1
- reflex/components/radix/themes/components/popover.pyi +95 -136
- reflex/components/radix/themes/components/progress.py +1 -1
- reflex/components/radix/themes/components/progress.pyi +71 -82
- reflex/components/radix/themes/components/radio.py +1 -1
- reflex/components/radix/themes/components/radio.pyi +69 -80
- reflex/components/radix/themes/components/radio_cards.py +1 -1
- reflex/components/radix/themes/components/radio_cards.pyi +98 -119
- reflex/components/radix/themes/components/radio_group.py +8 -11
- reflex/components/radix/themes/components/radio_group.pyi +228 -271
- reflex/components/radix/themes/components/scroll_area.py +1 -1
- reflex/components/radix/themes/components/scroll_area.pyi +21 -32
- reflex/components/radix/themes/components/segmented_control.py +1 -1
- reflex/components/radix/themes/components/segmented_control.pyi +90 -113
- reflex/components/radix/themes/components/select.py +2 -3
- reflex/components/radix/themes/components/select.pyi +374 -471
- reflex/components/radix/themes/components/separator.py +1 -2
- reflex/components/radix/themes/components/separator.pyi +69 -80
- reflex/components/radix/themes/components/skeleton.py +1 -1
- reflex/components/radix/themes/components/skeleton.pyi +23 -34
- reflex/components/radix/themes/components/slider.py +2 -3
- reflex/components/radix/themes/components/slider.pyi +75 -88
- reflex/components/radix/themes/components/spinner.py +1 -1
- reflex/components/radix/themes/components/spinner.pyi +19 -30
- reflex/components/radix/themes/components/switch.py +1 -1
- reflex/components/radix/themes/components/switch.pyi +71 -84
- reflex/components/radix/themes/components/table.py +1 -1
- reflex/components/radix/themes/components/table.pyi +261 -332
- reflex/components/radix/themes/components/tabs.py +1 -1
- reflex/components/radix/themes/components/tabs.pyi +139 -194
- reflex/components/radix/themes/components/text_area.py +1 -1
- reflex/components/radix/themes/components/text_area.pyi +96 -111
- reflex/components/radix/themes/components/text_field.py +1 -1
- reflex/components/radix/themes/components/text_field.pyi +247 -286
- reflex/components/radix/themes/components/tooltip.py +1 -1
- reflex/components/radix/themes/components/tooltip.pyi +26 -37
- 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 +56 -67
- reflex/components/radix/themes/layout/box.pyi +34 -45
- reflex/components/radix/themes/layout/center.pyi +56 -67
- reflex/components/radix/themes/layout/container.py +1 -2
- reflex/components/radix/themes/layout/container.pyi +36 -47
- reflex/components/radix/themes/layout/flex.py +1 -1
- reflex/components/radix/themes/layout/flex.pyi +56 -67
- reflex/components/radix/themes/layout/grid.py +1 -1
- reflex/components/radix/themes/layout/grid.pyi +64 -75
- reflex/components/radix/themes/layout/list.py +5 -6
- reflex/components/radix/themes/layout/list.pyi +193 -244
- reflex/components/radix/themes/layout/section.py +1 -2
- reflex/components/radix/themes/layout/section.pyi +36 -47
- reflex/components/radix/themes/layout/spacer.pyi +56 -67
- reflex/components/radix/themes/layout/stack.py +1 -1
- reflex/components/radix/themes/layout/stack.pyi +128 -159
- reflex/components/radix/themes/typography/blockquote.py +1 -1
- reflex/components/radix/themes/typography/blockquote.pyi +89 -100
- reflex/components/radix/themes/typography/code.py +1 -1
- reflex/components/radix/themes/typography/code.pyi +90 -101
- reflex/components/radix/themes/typography/heading.py +1 -1
- reflex/components/radix/themes/typography/heading.pyi +96 -107
- reflex/components/radix/themes/typography/link.py +1 -1
- reflex/components/radix/themes/typography/link.pyi +102 -113
- reflex/components/radix/themes/typography/text.py +1 -1
- reflex/components/radix/themes/typography/text.pyi +501 -572
- reflex/components/react_player/audio.pyi +33 -60
- reflex/components/react_player/react_player.py +1 -1
- reflex/components/react_player/react_player.pyi +33 -60
- reflex/components/react_player/video.pyi +33 -60
- reflex/components/recharts/cartesian.py +2 -3
- reflex/components/recharts/cartesian.pyi +678 -861
- reflex/components/recharts/charts.py +4 -5
- reflex/components/recharts/charts.pyi +252 -357
- reflex/components/recharts/general.py +1 -2
- reflex/components/recharts/general.pyi +180 -231
- reflex/components/recharts/polar.py +4 -5
- reflex/components/recharts/polar.pyi +144 -181
- reflex/components/recharts/recharts.pyi +33 -53
- reflex/components/sonner/toast.py +16 -17
- reflex/components/sonner/toast.pyi +36 -47
- reflex/components/suneditor/editor.py +2 -3
- reflex/components/suneditor/editor.pyi +55 -78
- reflex/components/tags/cond_tag.py +6 -4
- reflex/components/tags/iter_tag.py +28 -16
- reflex/components/tags/match_tag.py +6 -4
- reflex/components/tags/tag.py +40 -23
- reflex/custom_components/custom_components.py +3 -1
- reflex/event.py +115 -67
- reflex/experimental/client_state.py +18 -18
- reflex/experimental/hooks.py +16 -16
- reflex/experimental/layout.py +5 -5
- reflex/experimental/layout.pyi +136 -187
- reflex/middleware/hydrate_middleware.py +2 -0
- reflex/middleware/middleware.py +3 -3
- reflex/state.py +149 -82
- reflex/style.py +21 -22
- reflex/utils/exceptions.py +20 -0
- reflex/utils/format.py +54 -34
- reflex/utils/imports.py +16 -73
- reflex/utils/prerequisites.py +15 -8
- reflex/utils/pyi_generator.py +13 -8
- reflex/utils/serializers.py +12 -22
- reflex/utils/telemetry.py +3 -2
- reflex/utils/types.py +11 -6
- reflex/{ivars → vars}/__init__.py +6 -2
- reflex/{ivars → vars}/base.py +599 -216
- reflex/{ivars → vars}/function.py +15 -19
- reflex/{ivars → vars}/number.py +41 -20
- reflex/{ivars → vars}/object.py +28 -30
- reflex/{ivars → vars}/sequence.py +53 -42
- {reflex-0.6.0a1.dist-info → reflex-0.6.0a3.dist-info}/METADATA +4 -6
- reflex-0.6.0a3.dist-info/RECORD +382 -0
- reflex/.templates/web/components/reflex/chakra_color_mode_provider.js +0 -36
- reflex/vars.py +0 -501
- reflex-0.6.0a1.dist-info/RECORD +0 -384
- {reflex-0.6.0a1.dist-info → reflex-0.6.0a3.dist-info}/LICENSE +0 -0
- {reflex-0.6.0a1.dist-info → reflex-0.6.0a3.dist-info}/WHEEL +0 -0
- {reflex-0.6.0a1.dist-info → reflex-0.6.0a3.dist-info}/entry_points.txt +0 -0
|
@@ -9,12 +9,12 @@ from reflex.base import Base
|
|
|
9
9
|
from reflex.components.component import Component, NoSSRComponent
|
|
10
10
|
from reflex.components.literals import LiteralRowMarker
|
|
11
11
|
from reflex.event import EventHandler
|
|
12
|
-
from reflex.ivars.base import ImmutableVar
|
|
13
|
-
from reflex.ivars.sequence import ArrayVar
|
|
14
12
|
from reflex.utils import console, format, types
|
|
15
13
|
from reflex.utils.imports import ImportDict, ImportVar
|
|
16
14
|
from reflex.utils.serializers import serializer
|
|
17
|
-
from reflex.vars import
|
|
15
|
+
from reflex.vars import get_unique_variable_name
|
|
16
|
+
from reflex.vars.base import Var
|
|
17
|
+
from reflex.vars.sequence import ArrayVar
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
# TODO: Fix the serialization issue for custom types.
|
|
@@ -295,7 +295,7 @@ class DataEditor(NoSSRComponent):
|
|
|
295
295
|
|
|
296
296
|
# Define the name of the getData callback associated with this component and assign to get_cell_content.
|
|
297
297
|
data_callback = f"getData_{editor_id}"
|
|
298
|
-
self.get_cell_content =
|
|
298
|
+
self.get_cell_content = Var(_js_expr=data_callback) # type: ignore
|
|
299
299
|
|
|
300
300
|
code = [f"function {data_callback}([col, row])" "{"]
|
|
301
301
|
|
|
@@ -333,18 +333,16 @@ class DataEditor(NoSSRComponent):
|
|
|
333
333
|
|
|
334
334
|
# If rows is not provided, determine from data.
|
|
335
335
|
if rows is None:
|
|
336
|
-
if isinstance(data,
|
|
336
|
+
if isinstance(data, Var) and not isinstance(data, ArrayVar):
|
|
337
337
|
raise ValueError(
|
|
338
338
|
"DataEditor data must be an ArrayVar if rows is not provided."
|
|
339
339
|
)
|
|
340
|
-
props["rows"] = (
|
|
341
|
-
data.length() if isinstance(data, ImmutableVar) else len(data)
|
|
342
|
-
)
|
|
340
|
+
props["rows"] = data.length() if isinstance(data, Var) else len(data)
|
|
343
341
|
|
|
344
|
-
if not isinstance(columns,
|
|
342
|
+
if not isinstance(columns, Var) and len(columns):
|
|
345
343
|
if (
|
|
346
344
|
types.is_dataframe(type(data))
|
|
347
|
-
or isinstance(data,
|
|
345
|
+
or isinstance(data, Var)
|
|
348
346
|
and types.is_dataframe(data._var_type)
|
|
349
347
|
):
|
|
350
348
|
raise ValueError(
|
|
@@ -9,11 +9,10 @@ from typing import Any, Callable, Dict, List, Literal, Optional, Union, overload
|
|
|
9
9
|
from reflex.base import Base
|
|
10
10
|
from reflex.components.component import NoSSRComponent
|
|
11
11
|
from reflex.event import EventHandler, EventSpec
|
|
12
|
-
from reflex.ivars.base import ImmutableVar
|
|
13
12
|
from reflex.style import Style
|
|
14
13
|
from reflex.utils.imports import ImportDict
|
|
15
14
|
from reflex.utils.serializers import serializer
|
|
16
|
-
from reflex.vars import Var
|
|
15
|
+
from reflex.vars.base import Var
|
|
17
16
|
|
|
18
17
|
class GridColumnIcons(Enum):
|
|
19
18
|
Array = "array"
|
|
@@ -89,9 +88,9 @@ class DataEditor(NoSSRComponent):
|
|
|
89
88
|
*children,
|
|
90
89
|
rows: Optional[Union[Var[int], int]] = None,
|
|
91
90
|
columns: Optional[
|
|
92
|
-
Union[
|
|
91
|
+
Union[List[Dict[str, Any]], Var[List[Dict[str, Any]]]]
|
|
93
92
|
] = None,
|
|
94
|
-
data: Optional[Union[
|
|
93
|
+
data: Optional[Union[List[List[Any]], Var[List[List[Any]]]]] = None,
|
|
95
94
|
get_cell_content: Optional[Union[Var[str], str]] = None,
|
|
96
95
|
get_cell_for_selection: Optional[Union[Var[bool], bool]] = None,
|
|
97
96
|
on_paste: Optional[Union[Var[bool], bool]] = None,
|
|
@@ -107,8 +106,8 @@ class DataEditor(NoSSRComponent):
|
|
|
107
106
|
row_height: Optional[Union[Var[int], int]] = None,
|
|
108
107
|
row_markers: Optional[
|
|
109
108
|
Union[
|
|
110
|
-
|
|
111
|
-
Literal["
|
|
109
|
+
Literal["both", "checkbox", "clickable-number", "none", "number"],
|
|
110
|
+
Var[Literal["both", "checkbox", "clickable-number", "none", "number"]],
|
|
112
111
|
]
|
|
113
112
|
] = None,
|
|
114
113
|
row_marker_start_index: Optional[Union[Var[int], int]] = None,
|
|
@@ -118,8 +117,8 @@ class DataEditor(NoSSRComponent):
|
|
|
118
117
|
vertical_border: Optional[Union[Var[bool], bool]] = None,
|
|
119
118
|
column_select: Optional[
|
|
120
119
|
Union[
|
|
121
|
-
|
|
122
|
-
Literal["
|
|
120
|
+
Literal["multi", "none", "single"],
|
|
121
|
+
Var[Literal["multi", "none", "single"]],
|
|
123
122
|
]
|
|
124
123
|
] = None,
|
|
125
124
|
prevent_diagonal_scrolling: Optional[Union[Var[bool], bool]] = None,
|
|
@@ -128,106 +127,94 @@ class DataEditor(NoSSRComponent):
|
|
|
128
127
|
scroll_offset_x: Optional[Union[Var[int], int]] = None,
|
|
129
128
|
scroll_offset_y: Optional[Union[Var[int], int]] = None,
|
|
130
129
|
theme: Optional[
|
|
131
|
-
Union[
|
|
130
|
+
Union[DataEditorTheme, Dict, Var[Union[DataEditorTheme, Dict]]]
|
|
132
131
|
] = None,
|
|
133
132
|
style: Optional[Style] = None,
|
|
134
133
|
key: Optional[Any] = None,
|
|
135
134
|
id: Optional[Any] = None,
|
|
136
135
|
class_name: Optional[Any] = None,
|
|
137
136
|
autofocus: Optional[bool] = None,
|
|
138
|
-
custom_attrs: Optional[Dict[str, Union[
|
|
139
|
-
on_blur: Optional[
|
|
140
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
141
|
-
] = None,
|
|
137
|
+
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
138
|
+
on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
142
139
|
on_cell_activated: Optional[
|
|
143
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
140
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
144
141
|
] = None,
|
|
145
142
|
on_cell_clicked: Optional[
|
|
146
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
143
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
147
144
|
] = None,
|
|
148
145
|
on_cell_context_menu: Optional[
|
|
149
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
146
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
150
147
|
] = None,
|
|
151
148
|
on_cell_edited: Optional[
|
|
152
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
153
|
-
] = None,
|
|
154
|
-
on_click: Optional[
|
|
155
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
149
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
156
150
|
] = None,
|
|
151
|
+
on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
157
152
|
on_column_resize: Optional[
|
|
158
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
153
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
159
154
|
] = None,
|
|
160
155
|
on_context_menu: Optional[
|
|
161
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
162
|
-
] = None,
|
|
163
|
-
on_delete: Optional[
|
|
164
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
156
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
165
157
|
] = None,
|
|
158
|
+
on_delete: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
166
159
|
on_double_click: Optional[
|
|
167
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
160
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
168
161
|
] = None,
|
|
169
162
|
on_finished_editing: Optional[
|
|
170
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
171
|
-
] = None,
|
|
172
|
-
on_focus: Optional[
|
|
173
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
163
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
174
164
|
] = None,
|
|
165
|
+
on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
175
166
|
on_group_header_clicked: Optional[
|
|
176
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
167
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
177
168
|
] = None,
|
|
178
169
|
on_group_header_context_menu: Optional[
|
|
179
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
170
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
180
171
|
] = None,
|
|
181
172
|
on_group_header_renamed: Optional[
|
|
182
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
173
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
183
174
|
] = None,
|
|
184
175
|
on_header_clicked: Optional[
|
|
185
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
176
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
186
177
|
] = None,
|
|
187
178
|
on_header_context_menu: Optional[
|
|
188
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
179
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
189
180
|
] = None,
|
|
190
181
|
on_header_menu_click: Optional[
|
|
191
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
182
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
192
183
|
] = None,
|
|
193
184
|
on_item_hovered: Optional[
|
|
194
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
195
|
-
] = None,
|
|
196
|
-
on_mount: Optional[
|
|
197
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
185
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
198
186
|
] = None,
|
|
187
|
+
on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
199
188
|
on_mouse_down: Optional[
|
|
200
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
189
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
201
190
|
] = None,
|
|
202
191
|
on_mouse_enter: Optional[
|
|
203
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
192
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
204
193
|
] = None,
|
|
205
194
|
on_mouse_leave: Optional[
|
|
206
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
195
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
207
196
|
] = None,
|
|
208
197
|
on_mouse_move: Optional[
|
|
209
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
198
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
210
199
|
] = None,
|
|
211
200
|
on_mouse_out: Optional[
|
|
212
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
201
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
213
202
|
] = None,
|
|
214
203
|
on_mouse_over: Optional[
|
|
215
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
204
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
216
205
|
] = None,
|
|
217
206
|
on_mouse_up: Optional[
|
|
218
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
207
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
219
208
|
] = None,
|
|
220
209
|
on_row_appended: Optional[
|
|
221
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
222
|
-
] = None,
|
|
223
|
-
on_scroll: Optional[
|
|
224
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
210
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
225
211
|
] = None,
|
|
212
|
+
on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
226
213
|
on_selection_cleared: Optional[
|
|
227
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
214
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
228
215
|
] = None,
|
|
229
216
|
on_unmount: Optional[
|
|
230
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
217
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
231
218
|
] = None,
|
|
232
219
|
**props,
|
|
233
220
|
) -> "DataEditor":
|
reflex/components/el/element.pyi
CHANGED
|
@@ -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
|
|
11
10
|
from reflex.style import Style
|
|
11
|
+
from reflex.vars.base import Var
|
|
12
12
|
|
|
13
13
|
class Element(Component):
|
|
14
14
|
@overload
|
|
@@ -21,51 +21,41 @@ class Element(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[
|
|
25
|
-
on_blur: Optional[
|
|
26
|
-
|
|
27
|
-
] = None,
|
|
28
|
-
on_click: Optional[
|
|
29
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
30
|
-
] = None,
|
|
24
|
+
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
25
|
+
on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
26
|
+
on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
31
27
|
on_context_menu: Optional[
|
|
32
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
28
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
33
29
|
] = None,
|
|
34
30
|
on_double_click: Optional[
|
|
35
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
36
|
-
] = None,
|
|
37
|
-
on_focus: Optional[
|
|
38
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
39
|
-
] = None,
|
|
40
|
-
on_mount: Optional[
|
|
41
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
31
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
42
32
|
] = None,
|
|
33
|
+
on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
34
|
+
on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
43
35
|
on_mouse_down: Optional[
|
|
44
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
36
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
45
37
|
] = None,
|
|
46
38
|
on_mouse_enter: Optional[
|
|
47
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
39
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
48
40
|
] = None,
|
|
49
41
|
on_mouse_leave: Optional[
|
|
50
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
42
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
51
43
|
] = None,
|
|
52
44
|
on_mouse_move: Optional[
|
|
53
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
45
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
54
46
|
] = None,
|
|
55
47
|
on_mouse_out: Optional[
|
|
56
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
48
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
57
49
|
] = None,
|
|
58
50
|
on_mouse_over: Optional[
|
|
59
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
51
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
60
52
|
] = None,
|
|
61
53
|
on_mouse_up: Optional[
|
|
62
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
63
|
-
] = None,
|
|
64
|
-
on_scroll: Optional[
|
|
65
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
54
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
66
55
|
] = None,
|
|
56
|
+
on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
67
57
|
on_unmount: Optional[
|
|
68
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
58
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
69
59
|
] = None,
|
|
70
60
|
**props,
|
|
71
61
|
) -> "Element":
|
|
@@ -7,9 +7,8 @@ from typing import Any, Callable, Dict, Optional, Union, overload
|
|
|
7
7
|
|
|
8
8
|
from reflex.components.el.element import Element
|
|
9
9
|
from reflex.event import EventHandler, EventSpec
|
|
10
|
-
from reflex.ivars.base import ImmutableVar
|
|
11
10
|
from reflex.style import Style
|
|
12
|
-
from reflex.vars import Var
|
|
11
|
+
from reflex.vars.base import Var
|
|
13
12
|
|
|
14
13
|
class BaseHTML(Element):
|
|
15
14
|
@overload
|
|
@@ -17,80 +16,70 @@ class BaseHTML(Element):
|
|
|
17
16
|
def create( # type: ignore
|
|
18
17
|
cls,
|
|
19
18
|
*children,
|
|
20
|
-
access_key: Optional[Union[Var[Union[bool, int, str]],
|
|
19
|
+
access_key: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
21
20
|
auto_capitalize: Optional[
|
|
22
|
-
Union[Var[Union[bool, int, str]],
|
|
21
|
+
Union[Var[Union[bool, int, str]], bool, int, str]
|
|
23
22
|
] = None,
|
|
24
23
|
content_editable: Optional[
|
|
25
|
-
Union[Var[Union[bool, int, str]],
|
|
24
|
+
Union[Var[Union[bool, int, str]], bool, int, str]
|
|
26
25
|
] = None,
|
|
27
26
|
context_menu: Optional[
|
|
28
|
-
Union[Var[Union[bool, int, str]],
|
|
27
|
+
Union[Var[Union[bool, int, str]], bool, int, str]
|
|
29
28
|
] = None,
|
|
30
|
-
dir: Optional[Union[Var[Union[bool, int, str]],
|
|
31
|
-
draggable: Optional[Union[Var[Union[bool, int, str]],
|
|
29
|
+
dir: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
30
|
+
draggable: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
32
31
|
enter_key_hint: Optional[
|
|
33
|
-
Union[Var[Union[bool, int, str]],
|
|
34
|
-
] = None,
|
|
35
|
-
hidden: Optional[Union[Var[Union[bool, int, str]],
|
|
36
|
-
input_mode: Optional[Union[Var[Union[bool, int, str]],
|
|
37
|
-
item_prop: Optional[Union[Var[Union[bool, int, str]],
|
|
38
|
-
lang: Optional[Union[Var[Union[bool, int, str]],
|
|
39
|
-
role: Optional[Union[Var[Union[bool, int, str]],
|
|
40
|
-
slot: Optional[Union[Var[Union[bool, int, str]],
|
|
41
|
-
spell_check: Optional[Union[Var[Union[bool, int, str]],
|
|
42
|
-
tab_index: Optional[Union[Var[Union[bool, int, str]],
|
|
43
|
-
title: Optional[Union[Var[Union[bool, int, str]],
|
|
32
|
+
Union[Var[Union[bool, int, str]], bool, int, str]
|
|
33
|
+
] = None,
|
|
34
|
+
hidden: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
35
|
+
input_mode: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
36
|
+
item_prop: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
37
|
+
lang: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
38
|
+
role: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
39
|
+
slot: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
40
|
+
spell_check: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
41
|
+
tab_index: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
42
|
+
title: Optional[Union[Var[Union[bool, int, str]], bool, int, str]] = None,
|
|
44
43
|
style: Optional[Style] = None,
|
|
45
44
|
key: Optional[Any] = None,
|
|
46
45
|
id: Optional[Any] = None,
|
|
47
46
|
class_name: Optional[Any] = None,
|
|
48
47
|
autofocus: Optional[bool] = None,
|
|
49
|
-
custom_attrs: Optional[Dict[str, Union[
|
|
50
|
-
on_blur: Optional[
|
|
51
|
-
|
|
52
|
-
] = None,
|
|
53
|
-
on_click: Optional[
|
|
54
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
55
|
-
] = None,
|
|
48
|
+
custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
49
|
+
on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
50
|
+
on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
56
51
|
on_context_menu: Optional[
|
|
57
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
52
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
58
53
|
] = None,
|
|
59
54
|
on_double_click: Optional[
|
|
60
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
61
|
-
] = None,
|
|
62
|
-
on_focus: Optional[
|
|
63
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
64
|
-
] = None,
|
|
65
|
-
on_mount: Optional[
|
|
66
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
55
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
67
56
|
] = None,
|
|
57
|
+
on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
58
|
+
on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
68
59
|
on_mouse_down: Optional[
|
|
69
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
60
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
70
61
|
] = None,
|
|
71
62
|
on_mouse_enter: Optional[
|
|
72
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
63
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
73
64
|
] = None,
|
|
74
65
|
on_mouse_leave: Optional[
|
|
75
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
66
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
76
67
|
] = None,
|
|
77
68
|
on_mouse_move: Optional[
|
|
78
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
69
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
79
70
|
] = None,
|
|
80
71
|
on_mouse_out: Optional[
|
|
81
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
72
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
82
73
|
] = None,
|
|
83
74
|
on_mouse_over: Optional[
|
|
84
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
75
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
85
76
|
] = None,
|
|
86
77
|
on_mouse_up: Optional[
|
|
87
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
88
|
-
] = None,
|
|
89
|
-
on_scroll: Optional[
|
|
90
|
-
Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
|
|
78
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
91
79
|
] = None,
|
|
80
|
+
on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
|
|
92
81
|
on_unmount: Optional[
|
|
93
|
-
Union[EventHandler, EventSpec, list, Callable,
|
|
82
|
+
Union[EventHandler, EventSpec, list, Callable, Var]
|
|
94
83
|
] = None,
|
|
95
84
|
**props,
|
|
96
85
|
) -> "BaseHTML":
|
|
@@ -11,13 +11,13 @@ from reflex.components.el.element import Element
|
|
|
11
11
|
from reflex.components.tags.tag import Tag
|
|
12
12
|
from reflex.constants import Dirs, EventTriggers
|
|
13
13
|
from reflex.event import EventChain, EventHandler
|
|
14
|
-
from reflex.ivars.base import ImmutableVar, LiteralVar
|
|
15
14
|
from reflex.utils.imports import ImportDict
|
|
16
|
-
from reflex.vars import
|
|
15
|
+
from reflex.vars import VarData
|
|
16
|
+
from reflex.vars.base import LiteralVar, Var
|
|
17
17
|
|
|
18
18
|
from .base import BaseHTML
|
|
19
19
|
|
|
20
|
-
FORM_DATA =
|
|
20
|
+
FORM_DATA = Var(_js_expr="form_data")
|
|
21
21
|
HANDLE_SUBMIT_JS_JINJA2 = Environment().from_string(
|
|
22
22
|
"""
|
|
23
23
|
const handleSubmit_{{ handle_submit_unique_name }} = useCallback((ev) => {
|
|
@@ -197,8 +197,8 @@ class Form(BaseHTML):
|
|
|
197
197
|
if EventTriggers.ON_SUBMIT in self.event_triggers:
|
|
198
198
|
render_tag.add_props(
|
|
199
199
|
**{
|
|
200
|
-
EventTriggers.ON_SUBMIT:
|
|
201
|
-
|
|
200
|
+
EventTriggers.ON_SUBMIT: Var(
|
|
201
|
+
_js_expr=f"handleSubmit_{self.handle_submit_unique_name}",
|
|
202
202
|
_var_type=EventChain,
|
|
203
203
|
)
|
|
204
204
|
}
|
|
@@ -212,21 +212,21 @@ class Form(BaseHTML):
|
|
|
212
212
|
# when ref start with refs_ it's an array of refs, so we need different method
|
|
213
213
|
# to collect data
|
|
214
214
|
if ref.startswith("refs_"):
|
|
215
|
-
ref_var =
|
|
216
|
-
form_refs[ref[len("refs_") : -3]] =
|
|
217
|
-
f"getRefValues({str(ref_var)})",
|
|
215
|
+
ref_var = Var(_js_expr=ref[:-3]).as_ref()
|
|
216
|
+
form_refs[ref[len("refs_") : -3]] = Var(
|
|
217
|
+
_js_expr=f"getRefValues({str(ref_var)})",
|
|
218
218
|
_var_data=VarData.merge(ref_var._get_all_var_data()),
|
|
219
219
|
)
|
|
220
220
|
else:
|
|
221
|
-
ref_var =
|
|
222
|
-
form_refs[ref[4:]] =
|
|
223
|
-
f"getRefValue({str(ref_var)})",
|
|
221
|
+
ref_var = Var(_js_expr=ref).as_ref()
|
|
222
|
+
form_refs[ref[4:]] = Var(
|
|
223
|
+
_js_expr=f"getRefValue({str(ref_var)})",
|
|
224
224
|
_var_data=VarData.merge(ref_var._get_all_var_data()),
|
|
225
225
|
)
|
|
226
226
|
# print(repr(form_refs))
|
|
227
227
|
return form_refs
|
|
228
228
|
|
|
229
|
-
def _get_vars(self, include_children: bool = True) -> Iterator[
|
|
229
|
+
def _get_vars(self, include_children: bool = True) -> Iterator[Var]:
|
|
230
230
|
yield from super()._get_vars(include_children=include_children)
|
|
231
231
|
yield from self._get_form_refs().values()
|
|
232
232
|
|
|
@@ -624,15 +624,15 @@ class Textarea(BaseHTML):
|
|
|
624
624
|
"Cannot combine `enter_key_submit` with `on_key_down`.",
|
|
625
625
|
)
|
|
626
626
|
tag.add_props(
|
|
627
|
-
on_key_down=
|
|
628
|
-
f"(e) => enterKeySubmitOnKeyDown(e, {str(self.enter_key_submit)})",
|
|
627
|
+
on_key_down=Var(
|
|
628
|
+
_js_expr=f"(e) => enterKeySubmitOnKeyDown(e, {str(self.enter_key_submit)})",
|
|
629
629
|
_var_data=VarData.merge(self.enter_key_submit._get_all_var_data()),
|
|
630
630
|
)
|
|
631
631
|
)
|
|
632
632
|
if self.auto_height is not None:
|
|
633
633
|
tag.add_props(
|
|
634
|
-
on_input=
|
|
635
|
-
f"(e) => autoHeightOnInput(e, {str(self.auto_height)})",
|
|
634
|
+
on_input=Var(
|
|
635
|
+
_js_expr=f"(e) => autoHeightOnInput(e, {str(self.auto_height)})",
|
|
636
636
|
_var_data=VarData.merge(self.auto_height._get_all_var_data()),
|
|
637
637
|
)
|
|
638
638
|
)
|