reflex 0.7.1a3__py3-none-any.whl → 0.7.2a1__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/web/utils/context.js.jinja2 +8 -8
- reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +3 -3
- reflex/admin.py +1 -2
- reflex/app.py +53 -50
- reflex/app_mixins/lifespan.py +2 -2
- reflex/app_mixins/middleware.py +1 -2
- reflex/assets.py +1 -2
- reflex/base.py +2 -2
- reflex/compiler/compiler.py +51 -16
- reflex/compiler/utils.py +4 -13
- reflex/components/base/app_wrap.pyi +7 -7
- reflex/components/base/bare.py +3 -3
- reflex/components/base/body.pyi +7 -7
- reflex/components/base/document.py +1 -3
- reflex/components/base/document.pyi +32 -32
- reflex/components/base/error_boundary.py +2 -4
- reflex/components/base/error_boundary.pyi +11 -13
- reflex/components/base/fragment.pyi +7 -7
- reflex/components/base/head.pyi +13 -13
- reflex/components/base/link.pyi +22 -22
- reflex/components/base/meta.py +5 -7
- reflex/components/base/meta.pyi +40 -40
- reflex/components/base/script.pyi +11 -14
- reflex/components/base/strict_mode.pyi +7 -7
- reflex/components/component.py +188 -113
- reflex/components/core/auto_scroll.py +8 -1
- reflex/components/core/auto_scroll.pyi +183 -210
- reflex/components/core/banner.py +2 -4
- reflex/components/core/banner.pyi +390 -444
- reflex/components/core/breakpoints.py +5 -5
- reflex/components/core/client_side_routing.pyi +14 -14
- reflex/components/core/clipboard.py +4 -4
- reflex/components/core/clipboard.pyi +12 -14
- reflex/components/core/cond.py +17 -25
- reflex/components/core/debounce.py +3 -3
- reflex/components/core/debounce.pyi +14 -14
- reflex/components/core/foreach.py +7 -2
- reflex/components/core/html.py +1 -3
- reflex/components/core/html.pyi +184 -213
- reflex/components/core/match.py +15 -19
- reflex/components/core/sticky.pyi +930 -1078
- reflex/components/core/upload.py +4 -4
- reflex/components/core/upload.pyi +62 -62
- reflex/components/datadisplay/code.py +6 -6
- reflex/components/datadisplay/code.pyi +1159 -1165
- reflex/components/datadisplay/dataeditor.py +49 -49
- reflex/components/datadisplay/dataeditor.pyi +95 -123
- reflex/components/datadisplay/logo.py +1 -3
- reflex/components/datadisplay/shiki_code_block.py +8 -10
- reflex/components/datadisplay/shiki_code_block.pyi +1678 -1720
- reflex/components/el/element.pyi +7 -7
- reflex/components/el/elements/base.pyi +183 -210
- reflex/components/el/elements/forms.py +23 -23
- reflex/components/el/elements/forms.pyi +2571 -2933
- reflex/components/el/elements/inline.py +4 -4
- reflex/components/el/elements/inline.pyi +5191 -5953
- reflex/components/el/elements/media.py +47 -47
- reflex/components/el/elements/media.pyi +4802 -5500
- reflex/components/el/elements/metadata.py +1 -3
- reflex/components/el/elements/metadata.pyi +782 -896
- reflex/components/el/elements/other.pyi +1278 -1467
- reflex/components/el/elements/scripts.pyi +580 -667
- reflex/components/el/elements/sectioning.pyi +2761 -3166
- reflex/components/el/elements/tables.pyi +1840 -2119
- reflex/components/el/elements/typography.pyi +2772 -3179
- reflex/components/gridjs/datatable.py +7 -7
- reflex/components/gridjs/datatable.pyi +19 -19
- reflex/components/lucide/icon.pyi +21 -21
- reflex/components/markdown/markdown.py +2 -2
- reflex/components/markdown/markdown.pyi +9 -9
- reflex/components/moment/moment.py +11 -12
- reflex/components/moment/moment.pyi +44 -47
- reflex/components/next/base.pyi +7 -7
- reflex/components/next/image.py +3 -3
- reflex/components/next/image.pyi +19 -21
- reflex/components/next/link.pyi +9 -9
- reflex/components/next/video.py +1 -3
- reflex/components/next/video.pyi +9 -9
- reflex/components/plotly/plotly.py +22 -45
- reflex/components/plotly/plotly.pyi +164 -164
- reflex/components/radix/primitives/accordion.py +14 -14
- reflex/components/radix/primitives/accordion.pyi +439 -487
- reflex/components/radix/primitives/base.py +1 -3
- reflex/components/radix/primitives/base.pyi +15 -15
- reflex/components/radix/primitives/drawer.py +3 -3
- reflex/components/radix/primitives/drawer.pyi +110 -116
- reflex/components/radix/primitives/form.py +1 -1
- reflex/components/radix/primitives/form.pyi +668 -752
- reflex/components/radix/primitives/progress.py +6 -6
- reflex/components/radix/primitives/progress.pyi +225 -243
- reflex/components/radix/primitives/slider.py +6 -6
- reflex/components/radix/primitives/slider.pyi +52 -55
- reflex/components/radix/themes/base.py +3 -6
- reflex/components/radix/themes/base.pyi +197 -303
- reflex/components/radix/themes/color_mode.py +5 -5
- reflex/components/radix/themes/color_mode.pyi +366 -436
- reflex/components/radix/themes/components/alert_dialog.pyi +229 -262
- reflex/components/radix/themes/components/aspect_ratio.py +1 -3
- reflex/components/radix/themes/components/aspect_ratio.pyi +8 -8
- reflex/components/radix/themes/components/avatar.pyi +79 -94
- reflex/components/radix/themes/components/badge.pyi +252 -295
- reflex/components/radix/themes/components/button.pyi +269 -314
- reflex/components/radix/themes/components/callout.py +2 -2
- reflex/components/radix/themes/components/callout.pyi +1116 -1290
- reflex/components/radix/themes/components/card.pyi +194 -229
- reflex/components/radix/themes/components/checkbox.pyi +243 -278
- reflex/components/radix/themes/components/checkbox_cards.py +3 -7
- reflex/components/radix/themes/components/checkbox_cards.pyi +101 -135
- reflex/components/radix/themes/components/checkbox_group.py +2 -2
- reflex/components/radix/themes/components/checkbox_group.pyi +83 -96
- reflex/components/radix/themes/components/context_menu.py +18 -15
- reflex/components/radix/themes/components/context_menu.pyi +408 -458
- reflex/components/radix/themes/components/data_list.pyi +122 -147
- reflex/components/radix/themes/components/dialog.pyi +231 -264
- reflex/components/radix/themes/components/dropdown_menu.py +16 -13
- reflex/components/radix/themes/components/dropdown_menu.pyi +223 -246
- reflex/components/radix/themes/components/hover_card.py +2 -2
- reflex/components/radix/themes/components/hover_card.pyi +237 -282
- reflex/components/radix/themes/components/icon_button.pyi +269 -314
- reflex/components/radix/themes/components/inset.py +8 -8
- reflex/components/radix/themes/components/inset.pyi +232 -292
- reflex/components/radix/themes/components/popover.py +2 -2
- reflex/components/radix/themes/components/popover.pyi +229 -271
- reflex/components/radix/themes/components/progress.pyi +80 -96
- reflex/components/radix/themes/components/radio.pyi +73 -86
- reflex/components/radix/themes/components/radio_cards.py +4 -8
- reflex/components/radix/themes/components/radio_cards.pyi +117 -154
- reflex/components/radix/themes/components/radio_group.py +3 -3
- reflex/components/radix/themes/components/radio_group.pyi +250 -291
- reflex/components/radix/themes/components/scroll_area.pyi +14 -20
- reflex/components/radix/themes/components/segmented_control.py +6 -6
- reflex/components/radix/themes/components/segmented_control.pyi +89 -108
- reflex/components/radix/themes/components/select.py +7 -7
- reflex/components/radix/themes/components/select.pyi +376 -444
- reflex/components/radix/themes/components/separator.pyi +79 -93
- reflex/components/radix/themes/components/skeleton.pyi +32 -26
- reflex/components/radix/themes/components/slider.py +8 -8
- reflex/components/radix/themes/components/slider.pyi +99 -122
- reflex/components/radix/themes/components/spinner.pyi +12 -19
- reflex/components/radix/themes/components/switch.pyi +84 -99
- reflex/components/radix/themes/components/table.py +9 -9
- reflex/components/radix/themes/components/table.pyi +1440 -1794
- reflex/components/radix/themes/components/tabs.py +4 -4
- reflex/components/radix/themes/components/tabs.pyi +120 -132
- reflex/components/radix/themes/components/text_area.pyi +281 -331
- reflex/components/radix/themes/components/text_field.py +2 -2
- reflex/components/radix/themes/components/text_field.pyi +639 -734
- reflex/components/radix/themes/components/tooltip.py +6 -6
- reflex/components/radix/themes/components/tooltip.pyi +34 -43
- reflex/components/radix/themes/layout/base.pyi +85 -182
- reflex/components/radix/themes/layout/box.pyi +183 -210
- reflex/components/radix/themes/layout/center.pyi +225 -286
- reflex/components/radix/themes/layout/container.pyi +191 -224
- reflex/components/radix/themes/layout/flex.py +2 -2
- reflex/components/radix/themes/layout/flex.pyi +225 -286
- reflex/components/radix/themes/layout/grid.py +2 -2
- reflex/components/radix/themes/layout/grid.pyi +245 -315
- reflex/components/radix/themes/layout/list.py +2 -2
- reflex/components/radix/themes/layout/list.pyi +712 -815
- reflex/components/radix/themes/layout/section.pyi +187 -221
- reflex/components/radix/themes/layout/spacer.pyi +225 -286
- reflex/components/radix/themes/layout/stack.pyi +625 -768
- reflex/components/radix/themes/typography/blockquote.pyi +257 -299
- reflex/components/radix/themes/typography/code.pyi +259 -304
- reflex/components/radix/themes/typography/heading.pyi +272 -324
- reflex/components/radix/themes/typography/link.pyi +302 -358
- reflex/components/radix/themes/typography/text.pyi +1669 -1945
- reflex/components/react_player/audio.pyi +20 -22
- reflex/components/react_player/react_player.pyi +19 -19
- reflex/components/react_player/video.pyi +20 -22
- reflex/components/recharts/cartesian.py +100 -97
- reflex/components/recharts/cartesian.pyi +891 -1007
- reflex/components/recharts/charts.py +42 -42
- reflex/components/recharts/charts.pyi +212 -249
- reflex/components/recharts/general.py +22 -21
- reflex/components/recharts/general.pyi +198 -223
- reflex/components/recharts/polar.py +42 -45
- reflex/components/recharts/polar.pyi +254 -288
- reflex/components/recharts/recharts.pyi +13 -13
- reflex/components/sonner/toast.py +20 -20
- reflex/components/sonner/toast.pyi +58 -61
- reflex/components/suneditor/editor.py +9 -9
- reflex/components/suneditor/editor.pyi +78 -83
- reflex/components/tags/cond_tag.py +2 -2
- reflex/components/tags/iter_tag.py +10 -14
- reflex/components/tags/match_tag.py +2 -2
- reflex/components/tags/tag.py +10 -10
- reflex/config.py +36 -35
- reflex/constants/__init__.py +56 -53
- reflex/custom_components/custom_components.py +6 -7
- reflex/event.py +38 -42
- reflex/experimental/client_state.py +2 -4
- reflex/experimental/layout.py +2 -2
- reflex/experimental/layout.pyi +579 -663
- reflex/istate/data.py +4 -5
- reflex/middleware/hydrate_middleware.py +2 -2
- reflex/middleware/middleware.py +2 -2
- reflex/model.py +3 -5
- reflex/page.py +2 -2
- reflex/reflex.py +9 -10
- reflex/state.py +77 -49
- reflex/style.py +9 -3
- reflex/testing.py +21 -24
- reflex/utils/console.py +1 -1
- reflex/utils/decorator.py +26 -1
- reflex/utils/exec.py +6 -11
- reflex/utils/export.py +2 -3
- reflex/utils/format.py +4 -4
- reflex/utils/imports.py +12 -12
- reflex/utils/prerequisites.py +35 -84
- reflex/utils/processes.py +5 -5
- reflex/utils/pyi_generator.py +33 -22
- reflex/utils/serializers.py +60 -15
- reflex/utils/types.py +237 -56
- reflex/vars/base.py +122 -72
- reflex/vars/datetime.py +2 -2
- reflex/vars/function.py +52 -55
- reflex/vars/number.py +59 -5
- reflex/vars/object.py +57 -26
- reflex/vars/sequence.py +983 -958
- {reflex-0.7.1a3.dist-info → reflex-0.7.2a1.dist-info}/METADATA +3 -6
- reflex-0.7.2a1.dist-info/RECORD +405 -0
- {reflex-0.7.1a3.dist-info → reflex-0.7.2a1.dist-info}/WHEEL +1 -1
- reflex-0.7.1a3.dist-info/RECORD +0 -405
- {reflex-0.7.1a3.dist-info → reflex-0.7.2a1.dist-info}/LICENSE +0 -0
- {reflex-0.7.1a3.dist-info → reflex-0.7.2a1.dist-info}/entry_points.txt +0 -0
reflex/components/core/upload.py
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from pathlib import Path
|
|
6
|
-
from typing import Any, Callable, ClassVar,
|
|
6
|
+
from typing import Any, Callable, ClassVar, Sequence
|
|
7
7
|
|
|
8
8
|
from reflex.components.base.fragment import Fragment
|
|
9
9
|
from reflex.components.component import (
|
|
@@ -86,7 +86,7 @@ def selected_files(id_: str = DEFAULT_UPLOAD_ID) -> Var:
|
|
|
86
86
|
id_var = LiteralStringVar.create(id_)
|
|
87
87
|
return Var(
|
|
88
88
|
_js_expr=f"(filesById[{id_var!s}] ? filesById[{id_var!s}].map((f) => (f.path || f.name)) : [])",
|
|
89
|
-
_var_type=
|
|
89
|
+
_var_type=list[str],
|
|
90
90
|
_var_data=VarData.merge(
|
|
91
91
|
upload_files_context_var_data, id_var._get_all_var_data()
|
|
92
92
|
),
|
|
@@ -161,7 +161,7 @@ def get_upload_url(file_path: str | Var[str]) -> Var[str]:
|
|
|
161
161
|
return Var.create(f"{uploaded_files_url_prefix}/{file_path}")
|
|
162
162
|
|
|
163
163
|
|
|
164
|
-
def _on_drop_spec(files: Var) ->
|
|
164
|
+
def _on_drop_spec(files: Var) -> tuple[Var[Any]]:
|
|
165
165
|
"""Args spec for the on_drop event trigger.
|
|
166
166
|
|
|
167
167
|
Args:
|
|
@@ -197,7 +197,7 @@ class Upload(MemoizationLeaf):
|
|
|
197
197
|
# The list of accepted file types. This should be a dictionary of MIME types as keys and array of file formats as
|
|
198
198
|
# values.
|
|
199
199
|
# supported MIME types: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
|
|
200
|
-
accept: Var[
|
|
200
|
+
accept: Var[dict[str, Sequence] | None]
|
|
201
201
|
|
|
202
202
|
# Whether the dropzone is disabled.
|
|
203
203
|
disabled: Var[bool]
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
|
5
5
|
# ------------------------------------------------------
|
|
6
6
|
from pathlib import Path
|
|
7
|
-
from typing import Any, ClassVar,
|
|
7
|
+
from typing import Any, ClassVar, Optional, Sequence, overload
|
|
8
8
|
|
|
9
9
|
from reflex.components.base.fragment import Fragment
|
|
10
10
|
from reflex.components.component import Component, ComponentNamespace, MemoizationLeaf
|
|
@@ -43,12 +43,12 @@ class UploadFilesProvider(Component):
|
|
|
43
43
|
def create( # type: ignore
|
|
44
44
|
cls,
|
|
45
45
|
*children,
|
|
46
|
-
style:
|
|
47
|
-
key:
|
|
48
|
-
id:
|
|
49
|
-
class_name:
|
|
50
|
-
autofocus:
|
|
51
|
-
custom_attrs:
|
|
46
|
+
style: Style | None = None,
|
|
47
|
+
key: Any | None = None,
|
|
48
|
+
id: Any | None = None,
|
|
49
|
+
class_name: Any | None = None,
|
|
50
|
+
autofocus: bool | None = None,
|
|
51
|
+
custom_attrs: dict[str, Var | Any] | None = None,
|
|
52
52
|
on_blur: Optional[EventType[()]] = None,
|
|
53
53
|
on_click: Optional[EventType[()]] = None,
|
|
54
54
|
on_context_menu: Optional[EventType[()]] = None,
|
|
@@ -89,17 +89,17 @@ class GhostUpload(Fragment):
|
|
|
89
89
|
def create( # type: ignore
|
|
90
90
|
cls,
|
|
91
91
|
*children,
|
|
92
|
-
style:
|
|
93
|
-
key:
|
|
94
|
-
id:
|
|
95
|
-
class_name:
|
|
96
|
-
autofocus:
|
|
97
|
-
custom_attrs:
|
|
92
|
+
style: Style | None = None,
|
|
93
|
+
key: Any | None = None,
|
|
94
|
+
id: Any | None = None,
|
|
95
|
+
class_name: Any | None = None,
|
|
96
|
+
autofocus: bool | None = None,
|
|
97
|
+
custom_attrs: dict[str, Var | Any] | None = None,
|
|
98
98
|
on_blur: Optional[EventType[()]] = None,
|
|
99
99
|
on_click: Optional[EventType[()]] = None,
|
|
100
100
|
on_context_menu: Optional[EventType[()]] = None,
|
|
101
101
|
on_double_click: Optional[EventType[()]] = None,
|
|
102
|
-
on_drop: Optional[
|
|
102
|
+
on_drop: Optional[EventType[()] | EventType[Any]] = None,
|
|
103
103
|
on_focus: Optional[EventType[()]] = None,
|
|
104
104
|
on_mount: Optional[EventType[()]] = None,
|
|
105
105
|
on_mouse_down: Optional[EventType[()]] = None,
|
|
@@ -139,26 +139,26 @@ class Upload(MemoizationLeaf):
|
|
|
139
139
|
def create( # type: ignore
|
|
140
140
|
cls,
|
|
141
141
|
*children,
|
|
142
|
-
accept:
|
|
143
|
-
disabled:
|
|
144
|
-
max_files:
|
|
145
|
-
max_size:
|
|
146
|
-
min_size:
|
|
147
|
-
multiple:
|
|
148
|
-
no_click:
|
|
149
|
-
no_drag:
|
|
150
|
-
no_keyboard:
|
|
151
|
-
style:
|
|
152
|
-
key:
|
|
153
|
-
id:
|
|
154
|
-
class_name:
|
|
155
|
-
autofocus:
|
|
156
|
-
custom_attrs:
|
|
142
|
+
accept: Var[dict[str, Sequence] | None] | dict[str, Sequence] | None = None,
|
|
143
|
+
disabled: Var[bool] | bool | None = None,
|
|
144
|
+
max_files: Var[int] | int | None = None,
|
|
145
|
+
max_size: Var[int] | int | None = None,
|
|
146
|
+
min_size: Var[int] | int | None = None,
|
|
147
|
+
multiple: Var[bool] | bool | None = None,
|
|
148
|
+
no_click: Var[bool] | bool | None = None,
|
|
149
|
+
no_drag: Var[bool] | bool | None = None,
|
|
150
|
+
no_keyboard: Var[bool] | bool | None = None,
|
|
151
|
+
style: Style | None = None,
|
|
152
|
+
key: Any | None = None,
|
|
153
|
+
id: Any | None = None,
|
|
154
|
+
class_name: Any | None = None,
|
|
155
|
+
autofocus: bool | None = None,
|
|
156
|
+
custom_attrs: dict[str, Var | Any] | None = None,
|
|
157
157
|
on_blur: Optional[EventType[()]] = None,
|
|
158
158
|
on_click: Optional[EventType[()]] = None,
|
|
159
159
|
on_context_menu: Optional[EventType[()]] = None,
|
|
160
160
|
on_double_click: Optional[EventType[()]] = None,
|
|
161
|
-
on_drop: Optional[
|
|
161
|
+
on_drop: Optional[EventType[()] | EventType[Any]] = None,
|
|
162
162
|
on_focus: Optional[EventType[()]] = None,
|
|
163
163
|
on_mount: Optional[EventType[()]] = None,
|
|
164
164
|
on_mouse_down: Optional[EventType[()]] = None,
|
|
@@ -205,26 +205,26 @@ class StyledUpload(Upload):
|
|
|
205
205
|
def create( # type: ignore
|
|
206
206
|
cls,
|
|
207
207
|
*children,
|
|
208
|
-
accept:
|
|
209
|
-
disabled:
|
|
210
|
-
max_files:
|
|
211
|
-
max_size:
|
|
212
|
-
min_size:
|
|
213
|
-
multiple:
|
|
214
|
-
no_click:
|
|
215
|
-
no_drag:
|
|
216
|
-
no_keyboard:
|
|
217
|
-
style:
|
|
218
|
-
key:
|
|
219
|
-
id:
|
|
220
|
-
class_name:
|
|
221
|
-
autofocus:
|
|
222
|
-
custom_attrs:
|
|
208
|
+
accept: Var[dict[str, Sequence] | None] | dict[str, Sequence] | None = None,
|
|
209
|
+
disabled: Var[bool] | bool | None = None,
|
|
210
|
+
max_files: Var[int] | int | None = None,
|
|
211
|
+
max_size: Var[int] | int | None = None,
|
|
212
|
+
min_size: Var[int] | int | None = None,
|
|
213
|
+
multiple: Var[bool] | bool | None = None,
|
|
214
|
+
no_click: Var[bool] | bool | None = None,
|
|
215
|
+
no_drag: Var[bool] | bool | None = None,
|
|
216
|
+
no_keyboard: Var[bool] | bool | None = None,
|
|
217
|
+
style: Style | None = None,
|
|
218
|
+
key: Any | None = None,
|
|
219
|
+
id: Any | None = None,
|
|
220
|
+
class_name: Any | None = None,
|
|
221
|
+
autofocus: bool | None = None,
|
|
222
|
+
custom_attrs: dict[str, Var | Any] | None = None,
|
|
223
223
|
on_blur: Optional[EventType[()]] = None,
|
|
224
224
|
on_click: Optional[EventType[()]] = None,
|
|
225
225
|
on_context_menu: Optional[EventType[()]] = None,
|
|
226
226
|
on_double_click: Optional[EventType[()]] = None,
|
|
227
|
-
on_drop: Optional[
|
|
227
|
+
on_drop: Optional[EventType[()] | EventType[Any]] = None,
|
|
228
228
|
on_focus: Optional[EventType[()]] = None,
|
|
229
229
|
on_mount: Optional[EventType[()]] = None,
|
|
230
230
|
on_mouse_down: Optional[EventType[()]] = None,
|
|
@@ -271,26 +271,26 @@ class UploadNamespace(ComponentNamespace):
|
|
|
271
271
|
@staticmethod
|
|
272
272
|
def __call__(
|
|
273
273
|
*children,
|
|
274
|
-
accept:
|
|
275
|
-
disabled:
|
|
276
|
-
max_files:
|
|
277
|
-
max_size:
|
|
278
|
-
min_size:
|
|
279
|
-
multiple:
|
|
280
|
-
no_click:
|
|
281
|
-
no_drag:
|
|
282
|
-
no_keyboard:
|
|
283
|
-
style:
|
|
284
|
-
key:
|
|
285
|
-
id:
|
|
286
|
-
class_name:
|
|
287
|
-
autofocus:
|
|
288
|
-
custom_attrs:
|
|
274
|
+
accept: Var[dict[str, Sequence] | None] | dict[str, Sequence] | None = None,
|
|
275
|
+
disabled: Var[bool] | bool | None = None,
|
|
276
|
+
max_files: Var[int] | int | None = None,
|
|
277
|
+
max_size: Var[int] | int | None = None,
|
|
278
|
+
min_size: Var[int] | int | None = None,
|
|
279
|
+
multiple: Var[bool] | bool | None = None,
|
|
280
|
+
no_click: Var[bool] | bool | None = None,
|
|
281
|
+
no_drag: Var[bool] | bool | None = None,
|
|
282
|
+
no_keyboard: Var[bool] | bool | None = None,
|
|
283
|
+
style: Style | None = None,
|
|
284
|
+
key: Any | None = None,
|
|
285
|
+
id: Any | None = None,
|
|
286
|
+
class_name: Any | None = None,
|
|
287
|
+
autofocus: bool | None = None,
|
|
288
|
+
custom_attrs: dict[str, Var | Any] | None = None,
|
|
289
289
|
on_blur: Optional[EventType[()]] = None,
|
|
290
290
|
on_click: Optional[EventType[()]] = None,
|
|
291
291
|
on_context_menu: Optional[EventType[()]] = None,
|
|
292
292
|
on_double_click: Optional[EventType[()]] = None,
|
|
293
|
-
on_drop: Optional[
|
|
293
|
+
on_drop: Optional[EventType[()] | EventType[Any]] = None,
|
|
294
294
|
on_focus: Optional[EventType[()]] = None,
|
|
295
295
|
on_mount: Optional[EventType[()]] = None,
|
|
296
296
|
on_mouse_down: Optional[EventType[()]] = None,
|
|
@@ -4,7 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
|
|
5
5
|
import dataclasses
|
|
6
6
|
import typing
|
|
7
|
-
from typing import ClassVar,
|
|
7
|
+
from typing import ClassVar, Literal
|
|
8
8
|
|
|
9
9
|
from reflex.components.component import Component, ComponentNamespace
|
|
10
10
|
from reflex.components.core.cond import color_mode_cond
|
|
@@ -390,7 +390,7 @@ class CodeBlock(Component, MarkdownComponentMap):
|
|
|
390
390
|
alias = "SyntaxHighlighter"
|
|
391
391
|
|
|
392
392
|
# The theme to use ("light" or "dark").
|
|
393
|
-
theme: Var[
|
|
393
|
+
theme: Var[Theme | str] = Theme.one_light
|
|
394
394
|
|
|
395
395
|
# The language to use.
|
|
396
396
|
language: Var[LiteralCodeLanguage] = Var.create("python")
|
|
@@ -408,16 +408,16 @@ class CodeBlock(Component, MarkdownComponentMap):
|
|
|
408
408
|
wrap_long_lines: Var[bool]
|
|
409
409
|
|
|
410
410
|
# A custom style for the code block.
|
|
411
|
-
custom_style:
|
|
411
|
+
custom_style: dict[str, str | Var | Color] = {}
|
|
412
412
|
|
|
413
413
|
# Props passed down to the code tag.
|
|
414
|
-
code_tag_props: Var[
|
|
414
|
+
code_tag_props: Var[dict[str, str]]
|
|
415
415
|
|
|
416
416
|
# Whether a copy button should appear.
|
|
417
|
-
can_copy:
|
|
417
|
+
can_copy: bool | None = False
|
|
418
418
|
|
|
419
419
|
# A custom copy button to override the default one.
|
|
420
|
-
copy_button:
|
|
420
|
+
copy_button: bool | Component | None = None
|
|
421
421
|
|
|
422
422
|
@classmethod
|
|
423
423
|
def create(
|