reflex 0.7.14a6__py3-none-any.whl → 0.8.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/app/rxconfig.py.jinja2 +4 -1
- reflex/.templates/jinja/web/package.json.jinja2 +1 -1
- reflex/.templates/jinja/web/pages/_app.js.jinja2 +21 -11
- reflex/.templates/jinja/web/pages/_document.js.jinja2 +1 -1
- reflex/.templates/jinja/web/pages/base_page.js.jinja2 +0 -1
- reflex/.templates/jinja/web/pages/stateful_component.js.jinja2 +4 -0
- reflex/.templates/jinja/web/styles/styles.css.jinja2 +1 -0
- reflex/.templates/jinja/web/utils/context.js.jinja2 +25 -8
- reflex/.templates/web/app/entry.client.js +8 -0
- reflex/.templates/web/app/routes.js +10 -0
- reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +12 -37
- reflex/.templates/web/postcss.config.js +1 -1
- reflex/.templates/web/react-router.config.js +6 -0
- reflex/.templates/web/styles/__reflex_style_reset.css +399 -0
- reflex/.templates/web/utils/client_side_routing.js +21 -19
- reflex/.templates/web/utils/react-theme.js +92 -0
- reflex/.templates/web/utils/state.js +251 -100
- reflex/.templates/web/vite-plugin-safari-cachebust.js +160 -0
- reflex/.templates/web/vite.config.js +39 -0
- reflex/__init__.py +1 -6
- reflex/__init__.pyi +327 -192
- reflex/app.py +86 -135
- reflex/base.py +1 -87
- reflex/compiler/compiler.py +70 -19
- reflex/compiler/templates.py +3 -3
- reflex/compiler/utils.py +91 -33
- reflex/components/__init__.py +0 -2
- reflex/components/__init__.pyi +34 -18
- reflex/components/base/__init__.py +1 -5
- reflex/components/base/__init__.pyi +30 -21
- reflex/components/base/app_wrap.pyi +7 -7
- reflex/components/base/body.pyi +7 -7
- reflex/components/base/document.py +18 -14
- reflex/components/base/document.pyi +88 -38
- reflex/components/base/error_boundary.pyi +7 -7
- reflex/components/base/fragment.pyi +7 -7
- reflex/components/base/link.pyi +12 -12
- reflex/components/base/meta.py +4 -15
- reflex/components/base/meta.pyi +31 -31
- reflex/components/base/script.py +60 -58
- reflex/components/base/script.pyi +248 -34
- reflex/components/base/strict_mode.pyi +7 -7
- reflex/components/component.py +146 -217
- reflex/components/core/__init__.py +1 -0
- reflex/components/core/__init__.pyi +77 -37
- reflex/components/core/auto_scroll.pyi +7 -7
- reflex/components/core/banner.pyi +33 -33
- reflex/components/core/client_side_routing.py +7 -6
- reflex/components/core/client_side_routing.pyi +8 -59
- reflex/components/core/clipboard.pyi +7 -7
- reflex/components/core/debounce.py +1 -0
- reflex/components/core/debounce.pyi +7 -7
- reflex/components/core/foreach.py +5 -4
- reflex/components/core/helmet.py +14 -0
- reflex/components/{next/base.pyi → core/helmet.pyi} +12 -10
- reflex/components/core/html.pyi +7 -7
- reflex/components/core/match.py +3 -3
- reflex/components/core/sticky.pyi +21 -20
- reflex/components/core/upload.py +4 -2
- reflex/components/core/upload.pyi +26 -25
- reflex/components/datadisplay/__init__.pyi +13 -7
- reflex/components/datadisplay/code.py +14 -79
- reflex/components/datadisplay/code.pyi +11 -13
- reflex/components/datadisplay/dataeditor.pyi +38 -15
- reflex/components/datadisplay/shiki_code_block.py +5 -3
- reflex/components/datadisplay/shiki_code_block.pyi +16 -15
- reflex/components/dynamic.py +5 -5
- reflex/components/el/__init__.pyi +506 -246
- reflex/components/el/element.pyi +7 -7
- reflex/components/el/elements/__init__.pyi +504 -245
- reflex/components/el/elements/base.pyi +7 -7
- reflex/components/el/elements/forms.pyi +146 -101
- reflex/components/el/elements/inline.pyi +142 -142
- reflex/components/el/elements/media.pyi +131 -130
- reflex/components/el/elements/metadata.pyi +32 -32
- reflex/components/el/elements/other.pyi +37 -37
- reflex/components/el/elements/scripts.pyi +17 -17
- reflex/components/el/elements/sectioning.pyi +77 -77
- reflex/components/el/elements/tables.pyi +52 -52
- reflex/components/el/elements/typography.pyi +77 -77
- reflex/components/field.py +175 -0
- reflex/components/gridjs/datatable.py +2 -2
- reflex/components/gridjs/datatable.pyi +14 -14
- reflex/components/lucide/icon.py +6 -2
- reflex/components/lucide/icon.pyi +19 -17
- reflex/components/markdown/markdown.py +5 -3
- reflex/components/markdown/markdown.pyi +7 -7
- reflex/components/moment/moment.py +1 -1
- reflex/components/moment/moment.pyi +7 -7
- reflex/components/plotly/plotly.py +12 -6
- reflex/components/plotly/plotly.pyi +50 -49
- reflex/components/props.py +376 -27
- reflex/components/radix/__init__.pyi +123 -65
- reflex/components/radix/primitives/__init__.pyi +6 -4
- reflex/components/radix/primitives/accordion.py +8 -1
- reflex/components/radix/primitives/accordion.pyi +37 -37
- reflex/components/radix/primitives/base.pyi +12 -12
- reflex/components/radix/primitives/drawer.pyi +56 -55
- reflex/components/radix/primitives/form.pyi +63 -53
- reflex/components/radix/primitives/progress.pyi +26 -25
- reflex/components/radix/primitives/slider.pyi +27 -27
- reflex/components/radix/themes/__init__.pyi +5 -6
- reflex/components/radix/themes/base.py +3 -3
- reflex/components/radix/themes/base.pyi +42 -42
- reflex/components/radix/themes/color_mode.py +5 -6
- reflex/components/radix/themes/color_mode.pyi +17 -17
- reflex/components/radix/themes/components/__init__.pyi +75 -38
- reflex/components/radix/themes/components/alert_dialog.pyi +37 -37
- reflex/components/radix/themes/components/aspect_ratio.pyi +7 -7
- reflex/components/radix/themes/components/avatar.pyi +7 -7
- reflex/components/radix/themes/components/badge.pyi +7 -7
- reflex/components/radix/themes/components/button.pyi +7 -7
- reflex/components/radix/themes/components/callout.pyi +26 -25
- reflex/components/radix/themes/components/card.pyi +7 -7
- reflex/components/radix/themes/components/checkbox.pyi +16 -15
- reflex/components/radix/themes/components/checkbox_cards.pyi +12 -12
- reflex/components/radix/themes/components/checkbox_group.pyi +12 -12
- reflex/components/radix/themes/components/context_menu.pyi +67 -67
- reflex/components/radix/themes/components/data_list.pyi +22 -22
- reflex/components/radix/themes/components/dialog.pyi +36 -35
- reflex/components/radix/themes/components/dropdown_menu.pyi +42 -42
- reflex/components/radix/themes/components/hover_card.pyi +21 -20
- reflex/components/radix/themes/components/icon_button.pyi +7 -7
- reflex/components/radix/themes/components/inset.pyi +7 -7
- reflex/components/radix/themes/components/popover.pyi +22 -22
- reflex/components/radix/themes/components/progress.pyi +7 -7
- reflex/components/radix/themes/components/radio.pyi +7 -7
- reflex/components/radix/themes/components/radio_cards.pyi +12 -12
- reflex/components/radix/themes/components/radio_group.pyi +21 -20
- reflex/components/radix/themes/components/scroll_area.pyi +7 -7
- reflex/components/radix/themes/components/segmented_control.pyi +12 -12
- reflex/components/radix/themes/components/select.pyi +46 -45
- reflex/components/radix/themes/components/separator.pyi +7 -7
- reflex/components/radix/themes/components/skeleton.pyi +7 -7
- reflex/components/radix/themes/components/slider.pyi +17 -9
- reflex/components/radix/themes/components/spinner.pyi +7 -7
- reflex/components/radix/themes/components/switch.pyi +7 -7
- reflex/components/radix/themes/components/table.pyi +37 -37
- reflex/components/radix/themes/components/tabs.pyi +26 -25
- reflex/components/radix/themes/components/text_area.pyi +15 -9
- reflex/components/radix/themes/components/text_field.pyi +32 -19
- reflex/components/radix/themes/components/tooltip.pyi +7 -7
- reflex/components/radix/themes/layout/__init__.pyi +27 -14
- reflex/components/radix/themes/layout/base.pyi +7 -7
- reflex/components/radix/themes/layout/box.pyi +7 -7
- reflex/components/radix/themes/layout/center.pyi +7 -7
- reflex/components/radix/themes/layout/container.pyi +7 -7
- reflex/components/radix/themes/layout/flex.pyi +7 -7
- reflex/components/radix/themes/layout/grid.pyi +7 -7
- reflex/components/radix/themes/layout/list.pyi +26 -25
- reflex/components/radix/themes/layout/section.pyi +7 -7
- reflex/components/radix/themes/layout/spacer.pyi +7 -7
- reflex/components/radix/themes/layout/stack.pyi +17 -17
- reflex/components/radix/themes/typography/__init__.pyi +7 -5
- reflex/components/radix/themes/typography/blockquote.pyi +7 -7
- reflex/components/radix/themes/typography/code.pyi +7 -7
- reflex/components/radix/themes/typography/heading.pyi +7 -7
- reflex/components/radix/themes/typography/link.py +46 -11
- reflex/components/radix/themes/typography/link.pyi +312 -9
- reflex/components/radix/themes/typography/text.pyi +36 -35
- reflex/components/react_player/audio.pyi +10 -8
- reflex/components/react_player/react_player.pyi +7 -7
- reflex/components/react_player/video.pyi +10 -8
- reflex/components/recharts/__init__.pyi +208 -100
- reflex/components/recharts/cartesian.py +10 -8
- reflex/components/recharts/cartesian.pyi +90 -94
- reflex/components/recharts/charts.py +4 -2
- reflex/components/recharts/charts.pyi +49 -49
- reflex/components/recharts/general.pyi +31 -31
- reflex/components/recharts/polar.py +8 -4
- reflex/components/recharts/polar.pyi +23 -23
- reflex/components/recharts/recharts.py +2 -2
- reflex/components/recharts/recharts.pyi +12 -12
- reflex/components/sonner/toast.py +3 -3
- reflex/components/sonner/toast.pyi +9 -9
- reflex/config.py +10 -113
- reflex/constants/__init__.py +2 -2
- reflex/constants/base.py +28 -11
- reflex/constants/compiler.py +12 -3
- reflex/constants/event.py +1 -0
- reflex/constants/installer.py +26 -20
- reflex/constants/route.py +27 -8
- reflex/constants/state.py +2 -0
- reflex/custom_components/custom_components.py +0 -14
- reflex/environment.py +77 -5
- reflex/event.py +178 -81
- reflex/experimental/__init__.py +0 -30
- reflex/istate/__init__.py +69 -0
- reflex/istate/manager.py +1 -0
- reflex/istate/proxy.py +5 -3
- reflex/page.py +0 -27
- reflex/plugins/__init__.py +3 -2
- reflex/plugins/base.py +5 -1
- reflex/plugins/shared_tailwind.py +215 -0
- reflex/plugins/sitemap.py +206 -0
- reflex/plugins/tailwind_v3.py +15 -108
- reflex/plugins/tailwind_v4.py +18 -110
- reflex/reflex.py +1 -0
- reflex/route.py +157 -75
- reflex/state.py +171 -155
- reflex/testing.py +86 -16
- reflex/utils/build.py +38 -82
- reflex/utils/exec.py +83 -175
- reflex/utils/export.py +2 -2
- reflex/utils/format.py +1 -5
- reflex/utils/imports.py +5 -16
- reflex/utils/misc.py +67 -0
- reflex/utils/prerequisites.py +66 -68
- reflex/utils/processes.py +24 -47
- reflex/utils/pyi_generator.py +44 -49
- reflex/utils/serializers.py +14 -1
- reflex/utils/telemetry.py +0 -15
- reflex/utils/types.py +197 -62
- reflex/vars/__init__.py +2 -0
- reflex/vars/base.py +367 -134
- {reflex-0.7.14a6.dist-info → reflex-0.8.0.dist-info}/METADATA +15 -8
- reflex-0.8.0.dist-info/RECORD +403 -0
- reflex/.templates/web/next.config.js +0 -7
- reflex/components/base/head.py +0 -20
- reflex/components/base/head.pyi +0 -116
- reflex/components/next/__init__.py +0 -10
- reflex/components/next/base.py +0 -7
- reflex/components/next/image.py +0 -117
- reflex/components/next/image.pyi +0 -94
- reflex/components/next/link.py +0 -20
- reflex/components/next/link.pyi +0 -67
- reflex/components/next/video.py +0 -38
- reflex/components/next/video.pyi +0 -68
- reflex/components/suneditor/__init__.py +0 -5
- reflex/components/suneditor/editor.py +0 -269
- reflex/components/suneditor/editor.pyi +0 -199
- reflex/experimental/layout.py +0 -254
- reflex/experimental/layout.pyi +0 -814
- reflex-0.7.14a6.dist-info/RECORD +0 -408
- {reflex-0.7.14a6.dist-info → reflex-0.8.0.dist-info}/WHEEL +0 -0
- {reflex-0.7.14a6.dist-info → reflex-0.8.0.dist-info}/entry_points.txt +0 -0
- {reflex-0.7.14a6.dist-info → reflex-0.8.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
"""Stub file for reflex/components/
|
|
1
|
+
"""Stub file for reflex/components/core/helmet.py"""
|
|
2
2
|
|
|
3
3
|
# ------------------- DO NOT EDIT ----------------------
|
|
4
4
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
|
5
5
|
# ------------------------------------------------------
|
|
6
6
|
from collections.abc import Mapping, Sequence
|
|
7
|
-
from typing import Any
|
|
7
|
+
from typing import Any
|
|
8
8
|
|
|
9
9
|
from reflex.components.component import Component
|
|
10
10
|
from reflex.components.core.breakpoints import Breakpoints
|
|
11
|
-
from reflex.event import EventType
|
|
11
|
+
from reflex.event import EventType, PointerEventInfo
|
|
12
12
|
from reflex.vars.base import Var
|
|
13
13
|
|
|
14
|
-
class
|
|
15
|
-
@overload
|
|
14
|
+
class Helmet(Component):
|
|
16
15
|
@classmethod
|
|
17
|
-
def create(
|
|
16
|
+
def create(
|
|
18
17
|
cls,
|
|
19
18
|
*children,
|
|
20
19
|
style: Sequence[Mapping[str, Any]]
|
|
@@ -29,9 +28,9 @@ class NextComponent(Component):
|
|
|
29
28
|
autofocus: bool | None = None,
|
|
30
29
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
31
30
|
on_blur: EventType[()] | None = None,
|
|
32
|
-
on_click: EventType[()] | None = None,
|
|
33
|
-
on_context_menu: EventType[()] | None = None,
|
|
34
|
-
on_double_click: EventType[()] | None = None,
|
|
31
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
32
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
33
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
35
34
|
on_focus: EventType[()] | None = None,
|
|
36
35
|
on_mount: EventType[()] | None = None,
|
|
37
36
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -42,9 +41,10 @@ class NextComponent(Component):
|
|
|
42
41
|
on_mouse_over: EventType[()] | None = None,
|
|
43
42
|
on_mouse_up: EventType[()] | None = None,
|
|
44
43
|
on_scroll: EventType[()] | None = None,
|
|
44
|
+
on_scroll_end: EventType[()] | None = None,
|
|
45
45
|
on_unmount: EventType[()] | None = None,
|
|
46
46
|
**props,
|
|
47
|
-
) ->
|
|
47
|
+
) -> Helmet:
|
|
48
48
|
"""Create the component.
|
|
49
49
|
|
|
50
50
|
Args:
|
|
@@ -61,3 +61,5 @@ class NextComponent(Component):
|
|
|
61
61
|
Returns:
|
|
62
62
|
The component.
|
|
63
63
|
"""
|
|
64
|
+
|
|
65
|
+
helmet = Helmet.create
|
reflex/components/core/html.pyi
CHANGED
|
@@ -4,17 +4,16 @@
|
|
|
4
4
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
|
5
5
|
# ------------------------------------------------------
|
|
6
6
|
from collections.abc import Mapping, Sequence
|
|
7
|
-
from typing import Any, Literal
|
|
7
|
+
from typing import Any, Literal
|
|
8
8
|
|
|
9
9
|
from reflex.components.core.breakpoints import Breakpoints
|
|
10
10
|
from reflex.components.el.elements.typography import Div
|
|
11
|
-
from reflex.event import EventType
|
|
11
|
+
from reflex.event import EventType, PointerEventInfo
|
|
12
12
|
from reflex.vars.base import Var
|
|
13
13
|
|
|
14
14
|
class Html(Div):
|
|
15
|
-
@overload
|
|
16
15
|
@classmethod
|
|
17
|
-
def create(
|
|
16
|
+
def create(
|
|
18
17
|
cls,
|
|
19
18
|
*children,
|
|
20
19
|
dangerouslySetInnerHTML: Var[dict[str, str]] | dict[str, str] | None = None,
|
|
@@ -208,9 +207,9 @@ class Html(Div):
|
|
|
208
207
|
autofocus: bool | None = None,
|
|
209
208
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
210
209
|
on_blur: EventType[()] | None = None,
|
|
211
|
-
on_click: EventType[()] | None = None,
|
|
212
|
-
on_context_menu: EventType[()] | None = None,
|
|
213
|
-
on_double_click: EventType[()] | None = None,
|
|
210
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
211
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
212
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
214
213
|
on_focus: EventType[()] | None = None,
|
|
215
214
|
on_mount: EventType[()] | None = None,
|
|
216
215
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -221,6 +220,7 @@ class Html(Div):
|
|
|
221
220
|
on_mouse_over: EventType[()] | None = None,
|
|
222
221
|
on_mouse_up: EventType[()] | None = None,
|
|
223
222
|
on_scroll: EventType[()] | None = None,
|
|
223
|
+
on_scroll_end: EventType[()] | None = None,
|
|
224
224
|
on_unmount: EventType[()] | None = None,
|
|
225
225
|
**props,
|
|
226
226
|
) -> Html:
|
reflex/components/core/match.py
CHANGED
|
@@ -4,7 +4,7 @@ import textwrap
|
|
|
4
4
|
from typing import Any
|
|
5
5
|
|
|
6
6
|
from reflex.components.base import Fragment
|
|
7
|
-
from reflex.components.component import BaseComponent, Component, MemoizationLeaf
|
|
7
|
+
from reflex.components.component import BaseComponent, Component, MemoizationLeaf, field
|
|
8
8
|
from reflex.components.tags import MatchTag, Tag
|
|
9
9
|
from reflex.style import Style
|
|
10
10
|
from reflex.utils import format
|
|
@@ -21,10 +21,10 @@ class Match(MemoizationLeaf):
|
|
|
21
21
|
cond: Var[Any]
|
|
22
22
|
|
|
23
23
|
# The list of match cases to be matched.
|
|
24
|
-
match_cases: list[Any] =
|
|
24
|
+
match_cases: list[Any] = field(default_factory=list, is_javascript_property=False)
|
|
25
25
|
|
|
26
26
|
# The catchall case to match.
|
|
27
|
-
default: Any
|
|
27
|
+
default: Any = field(default=None, is_javascript_property=False)
|
|
28
28
|
|
|
29
29
|
@classmethod
|
|
30
30
|
def create(cls, cond: Any, *cases) -> Component | Var:
|
|
@@ -4,20 +4,19 @@
|
|
|
4
4
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
|
5
5
|
# ------------------------------------------------------
|
|
6
6
|
from collections.abc import Mapping, Sequence
|
|
7
|
-
from typing import Any, Literal
|
|
7
|
+
from typing import Any, Literal
|
|
8
8
|
|
|
9
9
|
from reflex.components.component import ComponentNamespace
|
|
10
10
|
from reflex.components.core.breakpoints import Breakpoints
|
|
11
11
|
from reflex.components.el.elements.inline import A
|
|
12
12
|
from reflex.components.el.elements.media import Svg
|
|
13
13
|
from reflex.components.radix.themes.typography.text import Text
|
|
14
|
-
from reflex.event import EventType
|
|
14
|
+
from reflex.event import EventType, PointerEventInfo
|
|
15
15
|
from reflex.vars.base import Var
|
|
16
16
|
|
|
17
17
|
class StickyLogo(Svg):
|
|
18
|
-
@overload
|
|
19
18
|
@classmethod
|
|
20
|
-
def create(
|
|
19
|
+
def create(
|
|
21
20
|
cls,
|
|
22
21
|
*children,
|
|
23
22
|
width: Var[int | str] | int | str | None = None,
|
|
@@ -213,9 +212,9 @@ class StickyLogo(Svg):
|
|
|
213
212
|
autofocus: bool | None = None,
|
|
214
213
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
215
214
|
on_blur: EventType[()] | None = None,
|
|
216
|
-
on_click: EventType[()] | None = None,
|
|
217
|
-
on_context_menu: EventType[()] | None = None,
|
|
218
|
-
on_double_click: EventType[()] | None = None,
|
|
215
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
216
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
217
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
219
218
|
on_focus: EventType[()] | None = None,
|
|
220
219
|
on_mount: EventType[()] | None = None,
|
|
221
220
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -226,6 +225,7 @@ class StickyLogo(Svg):
|
|
|
226
225
|
on_mouse_over: EventType[()] | None = None,
|
|
227
226
|
on_mouse_up: EventType[()] | None = None,
|
|
228
227
|
on_scroll: EventType[()] | None = None,
|
|
228
|
+
on_scroll_end: EventType[()] | None = None,
|
|
229
229
|
on_unmount: EventType[()] | None = None,
|
|
230
230
|
**props,
|
|
231
231
|
) -> StickyLogo:
|
|
@@ -238,9 +238,8 @@ class StickyLogo(Svg):
|
|
|
238
238
|
def add_style(self): ...
|
|
239
239
|
|
|
240
240
|
class StickyLabel(Text):
|
|
241
|
-
@overload
|
|
242
241
|
@classmethod
|
|
243
|
-
def create(
|
|
242
|
+
def create(
|
|
244
243
|
cls,
|
|
245
244
|
*children,
|
|
246
245
|
as_child: Var[bool] | bool | None = None,
|
|
@@ -565,9 +564,9 @@ class StickyLabel(Text):
|
|
|
565
564
|
autofocus: bool | None = None,
|
|
566
565
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
567
566
|
on_blur: EventType[()] | None = None,
|
|
568
|
-
on_click: EventType[()] | None = None,
|
|
569
|
-
on_context_menu: EventType[()] | None = None,
|
|
570
|
-
on_double_click: EventType[()] | None = None,
|
|
567
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
568
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
569
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
571
570
|
on_focus: EventType[()] | None = None,
|
|
572
571
|
on_mount: EventType[()] | None = None,
|
|
573
572
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -578,6 +577,7 @@ class StickyLabel(Text):
|
|
|
578
577
|
on_mouse_over: EventType[()] | None = None,
|
|
579
578
|
on_mouse_up: EventType[()] | None = None,
|
|
580
579
|
on_scroll: EventType[()] | None = None,
|
|
580
|
+
on_scroll_end: EventType[()] | None = None,
|
|
581
581
|
on_unmount: EventType[()] | None = None,
|
|
582
582
|
**props,
|
|
583
583
|
) -> StickyLabel:
|
|
@@ -590,9 +590,8 @@ class StickyLabel(Text):
|
|
|
590
590
|
def add_style(self): ...
|
|
591
591
|
|
|
592
592
|
class StickyBadge(A):
|
|
593
|
-
@overload
|
|
594
593
|
@classmethod
|
|
595
|
-
def create(
|
|
594
|
+
def create(
|
|
596
595
|
cls,
|
|
597
596
|
*children,
|
|
598
597
|
download: Var[bool | str] | bool | str | None = None,
|
|
@@ -820,9 +819,9 @@ class StickyBadge(A):
|
|
|
820
819
|
autofocus: bool | None = None,
|
|
821
820
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
822
821
|
on_blur: EventType[()] | None = None,
|
|
823
|
-
on_click: EventType[()] | None = None,
|
|
824
|
-
on_context_menu: EventType[()] | None = None,
|
|
825
|
-
on_double_click: EventType[()] | None = None,
|
|
822
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
823
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
824
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
826
825
|
on_focus: EventType[()] | None = None,
|
|
827
826
|
on_mount: EventType[()] | None = None,
|
|
828
827
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -833,6 +832,7 @@ class StickyBadge(A):
|
|
|
833
832
|
on_mouse_over: EventType[()] | None = None,
|
|
834
833
|
on_mouse_up: EventType[()] | None = None,
|
|
835
834
|
on_scroll: EventType[()] | None = None,
|
|
835
|
+
on_scroll_end: EventType[()] | None = None,
|
|
836
836
|
on_unmount: EventType[()] | None = None,
|
|
837
837
|
**props,
|
|
838
838
|
) -> StickyBadge:
|
|
@@ -1076,9 +1076,9 @@ class StickyNamespace(ComponentNamespace):
|
|
|
1076
1076
|
autofocus: bool | None = None,
|
|
1077
1077
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
1078
1078
|
on_blur: EventType[()] | None = None,
|
|
1079
|
-
on_click: EventType[()] | None = None,
|
|
1080
|
-
on_context_menu: EventType[()] | None = None,
|
|
1081
|
-
on_double_click: EventType[()] | None = None,
|
|
1079
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1080
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1081
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1082
1082
|
on_focus: EventType[()] | None = None,
|
|
1083
1083
|
on_mount: EventType[()] | None = None,
|
|
1084
1084
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -1089,6 +1089,7 @@ class StickyNamespace(ComponentNamespace):
|
|
|
1089
1089
|
on_mouse_over: EventType[()] | None = None,
|
|
1090
1090
|
on_mouse_up: EventType[()] | None = None,
|
|
1091
1091
|
on_scroll: EventType[()] | None = None,
|
|
1092
|
+
on_scroll_end: EventType[()] | None = None,
|
|
1092
1093
|
on_unmount: EventType[()] | None = None,
|
|
1093
1094
|
**props,
|
|
1094
1095
|
) -> StickyBadge:
|
reflex/components/core/upload.py
CHANGED
|
@@ -12,6 +12,7 @@ from reflex.components.component import (
|
|
|
12
12
|
ComponentNamespace,
|
|
13
13
|
MemoizationLeaf,
|
|
14
14
|
StatefulComponent,
|
|
15
|
+
field,
|
|
15
16
|
)
|
|
16
17
|
from reflex.components.core.cond import cond
|
|
17
18
|
from reflex.components.el.elements.forms import Input
|
|
@@ -234,7 +235,7 @@ class Upload(MemoizationLeaf):
|
|
|
234
235
|
on_drop: EventHandler[_on_drop_spec]
|
|
235
236
|
|
|
236
237
|
# Style rules to apply when actively dragging.
|
|
237
|
-
drag_active_style: Style | None = None
|
|
238
|
+
drag_active_style: Style | None = field(default=None, is_javascript_property=False)
|
|
238
239
|
|
|
239
240
|
@classmethod
|
|
240
241
|
def create(cls, *children, **props) -> Component:
|
|
@@ -396,7 +397,8 @@ class Upload(MemoizationLeaf):
|
|
|
396
397
|
The updated arg_value tuple when arg is "files", otherwise the original arg_value.
|
|
397
398
|
"""
|
|
398
399
|
if arg_value[0]._js_expr == "files":
|
|
399
|
-
|
|
400
|
+
placeholders, _ = parse_args_spec(_on_drop_spec)
|
|
401
|
+
placeholder = placeholders[0]
|
|
400
402
|
return (arg_value[0], placeholder)
|
|
401
403
|
return arg_value
|
|
402
404
|
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
# ------------------------------------------------------
|
|
6
6
|
from collections.abc import Mapping, Sequence
|
|
7
7
|
from pathlib import Path
|
|
8
|
-
from typing import Any, ClassVar
|
|
8
|
+
from typing import Any, ClassVar
|
|
9
9
|
|
|
10
10
|
from reflex.components.base.fragment import Fragment
|
|
11
11
|
from reflex.components.component import Component, ComponentNamespace, MemoizationLeaf
|
|
12
12
|
from reflex.components.core.breakpoints import Breakpoints
|
|
13
13
|
from reflex.constants import Dirs
|
|
14
|
-
from reflex.event import CallableEventSpec, EventSpec, EventType
|
|
14
|
+
from reflex.event import CallableEventSpec, EventSpec, EventType, PointerEventInfo
|
|
15
15
|
from reflex.style import Style
|
|
16
16
|
from reflex.utils.imports import ImportVar
|
|
17
17
|
from reflex.vars import VarData
|
|
@@ -40,9 +40,8 @@ uploaded_files_url_prefix = Var(
|
|
|
40
40
|
def get_upload_url(file_path: str | Var[str]) -> Var[str]: ...
|
|
41
41
|
|
|
42
42
|
class UploadFilesProvider(Component):
|
|
43
|
-
@overload
|
|
44
43
|
@classmethod
|
|
45
|
-
def create(
|
|
44
|
+
def create(
|
|
46
45
|
cls,
|
|
47
46
|
*children,
|
|
48
47
|
style: Sequence[Mapping[str, Any]]
|
|
@@ -57,9 +56,9 @@ class UploadFilesProvider(Component):
|
|
|
57
56
|
autofocus: bool | None = None,
|
|
58
57
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
59
58
|
on_blur: EventType[()] | None = None,
|
|
60
|
-
on_click: EventType[()] | None = None,
|
|
61
|
-
on_context_menu: EventType[()] | None = None,
|
|
62
|
-
on_double_click: EventType[()] | None = None,
|
|
59
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
60
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
61
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
63
62
|
on_focus: EventType[()] | None = None,
|
|
64
63
|
on_mount: EventType[()] | None = None,
|
|
65
64
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -70,6 +69,7 @@ class UploadFilesProvider(Component):
|
|
|
70
69
|
on_mouse_over: EventType[()] | None = None,
|
|
71
70
|
on_mouse_up: EventType[()] | None = None,
|
|
72
71
|
on_scroll: EventType[()] | None = None,
|
|
72
|
+
on_scroll_end: EventType[()] | None = None,
|
|
73
73
|
on_unmount: EventType[()] | None = None,
|
|
74
74
|
**props,
|
|
75
75
|
) -> UploadFilesProvider:
|
|
@@ -91,9 +91,8 @@ class UploadFilesProvider(Component):
|
|
|
91
91
|
"""
|
|
92
92
|
|
|
93
93
|
class GhostUpload(Fragment):
|
|
94
|
-
@overload
|
|
95
94
|
@classmethod
|
|
96
|
-
def create(
|
|
95
|
+
def create(
|
|
97
96
|
cls,
|
|
98
97
|
*children,
|
|
99
98
|
style: Sequence[Mapping[str, Any]]
|
|
@@ -108,9 +107,9 @@ class GhostUpload(Fragment):
|
|
|
108
107
|
autofocus: bool | None = None,
|
|
109
108
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
110
109
|
on_blur: EventType[()] | None = None,
|
|
111
|
-
on_click: EventType[()] | None = None,
|
|
112
|
-
on_context_menu: EventType[()] | None = None,
|
|
113
|
-
on_double_click: EventType[()] | None = None,
|
|
110
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
111
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
112
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
114
113
|
on_drop: EventType[()] | EventType[Any] | None = None,
|
|
115
114
|
on_focus: EventType[()] | None = None,
|
|
116
115
|
on_mount: EventType[()] | None = None,
|
|
@@ -122,6 +121,7 @@ class GhostUpload(Fragment):
|
|
|
122
121
|
on_mouse_over: EventType[()] | None = None,
|
|
123
122
|
on_mouse_up: EventType[()] | None = None,
|
|
124
123
|
on_scroll: EventType[()] | None = None,
|
|
124
|
+
on_scroll_end: EventType[()] | None = None,
|
|
125
125
|
on_unmount: EventType[()] | None = None,
|
|
126
126
|
**props,
|
|
127
127
|
) -> GhostUpload:
|
|
@@ -146,9 +146,8 @@ class GhostUpload(Fragment):
|
|
|
146
146
|
class Upload(MemoizationLeaf):
|
|
147
147
|
is_used: ClassVar[bool] = False
|
|
148
148
|
|
|
149
|
-
@overload
|
|
150
149
|
@classmethod
|
|
151
|
-
def create(
|
|
150
|
+
def create(
|
|
152
151
|
cls,
|
|
153
152
|
*children,
|
|
154
153
|
accept: Var[dict[str, Sequence] | None] | dict[str, Sequence] | None = None,
|
|
@@ -173,9 +172,9 @@ class Upload(MemoizationLeaf):
|
|
|
173
172
|
autofocus: bool | None = None,
|
|
174
173
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
175
174
|
on_blur: EventType[()] | None = None,
|
|
176
|
-
on_click: EventType[()] | None = None,
|
|
177
|
-
on_context_menu: EventType[()] | None = None,
|
|
178
|
-
on_double_click: EventType[()] | None = None,
|
|
175
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
176
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
177
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
179
178
|
on_drop: EventType[()] | EventType[Any] | None = None,
|
|
180
179
|
on_focus: EventType[()] | None = None,
|
|
181
180
|
on_mount: EventType[()] | None = None,
|
|
@@ -187,6 +186,7 @@ class Upload(MemoizationLeaf):
|
|
|
187
186
|
on_mouse_over: EventType[()] | None = None,
|
|
188
187
|
on_mouse_up: EventType[()] | None = None,
|
|
189
188
|
on_scroll: EventType[()] | None = None,
|
|
189
|
+
on_scroll_end: EventType[()] | None = None,
|
|
190
190
|
on_unmount: EventType[()] | None = None,
|
|
191
191
|
**props,
|
|
192
192
|
) -> Upload:
|
|
@@ -219,9 +219,8 @@ class Upload(MemoizationLeaf):
|
|
|
219
219
|
"""
|
|
220
220
|
|
|
221
221
|
class StyledUpload(Upload):
|
|
222
|
-
@overload
|
|
223
222
|
@classmethod
|
|
224
|
-
def create(
|
|
223
|
+
def create(
|
|
225
224
|
cls,
|
|
226
225
|
*children,
|
|
227
226
|
accept: Var[dict[str, Sequence] | None] | dict[str, Sequence] | None = None,
|
|
@@ -246,9 +245,9 @@ class StyledUpload(Upload):
|
|
|
246
245
|
autofocus: bool | None = None,
|
|
247
246
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
248
247
|
on_blur: EventType[()] | None = None,
|
|
249
|
-
on_click: EventType[()] | None = None,
|
|
250
|
-
on_context_menu: EventType[()] | None = None,
|
|
251
|
-
on_double_click: EventType[()] | None = None,
|
|
248
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
249
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
250
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
252
251
|
on_drop: EventType[()] | EventType[Any] | None = None,
|
|
253
252
|
on_focus: EventType[()] | None = None,
|
|
254
253
|
on_mount: EventType[()] | None = None,
|
|
@@ -260,6 +259,7 @@ class StyledUpload(Upload):
|
|
|
260
259
|
on_mouse_over: EventType[()] | None = None,
|
|
261
260
|
on_mouse_up: EventType[()] | None = None,
|
|
262
261
|
on_scroll: EventType[()] | None = None,
|
|
262
|
+
on_scroll_end: EventType[()] | None = None,
|
|
263
263
|
on_unmount: EventType[()] | None = None,
|
|
264
264
|
**props,
|
|
265
265
|
) -> StyledUpload:
|
|
@@ -319,9 +319,9 @@ class UploadNamespace(ComponentNamespace):
|
|
|
319
319
|
autofocus: bool | None = None,
|
|
320
320
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
321
321
|
on_blur: EventType[()] | None = None,
|
|
322
|
-
on_click: EventType[()] | None = None,
|
|
323
|
-
on_context_menu: EventType[()] | None = None,
|
|
324
|
-
on_double_click: EventType[()] | None = None,
|
|
322
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
323
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
324
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
325
325
|
on_drop: EventType[()] | EventType[Any] | None = None,
|
|
326
326
|
on_focus: EventType[()] | None = None,
|
|
327
327
|
on_mount: EventType[()] | None = None,
|
|
@@ -333,6 +333,7 @@ class UploadNamespace(ComponentNamespace):
|
|
|
333
333
|
on_mouse_over: EventType[()] | None = None,
|
|
334
334
|
on_mouse_up: EventType[()] | None = None,
|
|
335
335
|
on_scroll: EventType[()] | None = None,
|
|
336
|
+
on_scroll_end: EventType[()] | None = None,
|
|
336
337
|
on_unmount: EventType[()] | None = None,
|
|
337
338
|
**props,
|
|
338
339
|
) -> StyledUpload:
|
|
@@ -3,10 +3,16 @@
|
|
|
3
3
|
# This file was generated by `reflex/utils/pyi_generator.py`!
|
|
4
4
|
# ------------------------------------------------------
|
|
5
5
|
|
|
6
|
-
from .code import CodeBlock
|
|
7
|
-
from .
|
|
8
|
-
from .
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
from .code import CodeBlock, LiteralCodeLanguage, code_block
|
|
7
|
+
from .dataeditor import DataEditorTheme, data_editor, data_editor_theme
|
|
8
|
+
from .logo import logo
|
|
9
|
+
|
|
10
|
+
__all__ = [
|
|
11
|
+
"CodeBlock",
|
|
12
|
+
"DataEditorTheme",
|
|
13
|
+
"LiteralCodeLanguage",
|
|
14
|
+
"code_block",
|
|
15
|
+
"data_editor",
|
|
16
|
+
"data_editor_theme",
|
|
17
|
+
"logo",
|
|
18
|
+
]
|
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
import dataclasses
|
|
6
|
-
import typing
|
|
7
6
|
from typing import ClassVar, Literal
|
|
8
7
|
|
|
9
|
-
from reflex.components.component import Component, ComponentNamespace
|
|
8
|
+
from reflex.components.component import Component, ComponentNamespace, field
|
|
10
9
|
from reflex.components.core.cond import color_mode_cond
|
|
11
10
|
from reflex.components.lucide.icon import Icon
|
|
12
|
-
from reflex.components.markdown.markdown import
|
|
11
|
+
from reflex.components.markdown.markdown import MarkdownComponentMap
|
|
13
12
|
from reflex.components.radix.themes.components.button import Button
|
|
14
13
|
from reflex.components.radix.themes.layout.box import Box
|
|
15
14
|
from reflex.constants.colors import Color
|
|
@@ -315,7 +314,7 @@ def construct_theme_var(theme: str) -> Var[Theme]:
|
|
|
315
314
|
theme,
|
|
316
315
|
_var_data=VarData(
|
|
317
316
|
imports={
|
|
318
|
-
f"react-syntax-highlighter/dist/
|
|
317
|
+
f"react-syntax-highlighter/dist/esm/styles/prism/{format.to_kebab_case(theme)}": [
|
|
319
318
|
ImportVar(tag=theme, is_default=True, install=False)
|
|
320
319
|
]
|
|
321
320
|
}
|
|
@@ -408,16 +407,24 @@ class CodeBlock(Component, MarkdownComponentMap):
|
|
|
408
407
|
wrap_long_lines: Var[bool]
|
|
409
408
|
|
|
410
409
|
# A custom style for the code block.
|
|
411
|
-
custom_style: dict[str, str | Var | Color] =
|
|
410
|
+
custom_style: dict[str, str | Var | Color] = field(
|
|
411
|
+
default_factory=dict, is_javascript_property=False
|
|
412
|
+
)
|
|
412
413
|
|
|
413
414
|
# Props passed down to the code tag.
|
|
414
415
|
code_tag_props: Var[dict[str, str]]
|
|
415
416
|
|
|
416
417
|
# Whether a copy button should appear.
|
|
417
|
-
can_copy: bool | None =
|
|
418
|
+
can_copy: bool | None = field(
|
|
419
|
+
default=False,
|
|
420
|
+
is_javascript_property=False,
|
|
421
|
+
)
|
|
418
422
|
|
|
419
423
|
# A custom copy button to override the default one.
|
|
420
|
-
copy_button: bool | Component | None =
|
|
424
|
+
copy_button: bool | Component | None = field(
|
|
425
|
+
default=None,
|
|
426
|
+
is_javascript_property=False,
|
|
427
|
+
)
|
|
421
428
|
|
|
422
429
|
@classmethod
|
|
423
430
|
def create(
|
|
@@ -499,78 +506,6 @@ class CodeBlock(Component, MarkdownComponentMap):
|
|
|
499
506
|
|
|
500
507
|
return out
|
|
501
508
|
|
|
502
|
-
def _exclude_props(self) -> list[str]:
|
|
503
|
-
return ["can_copy", "copy_button"]
|
|
504
|
-
|
|
505
|
-
@classmethod
|
|
506
|
-
def _get_language_registration_hook(cls, language_var: Var = _LANGUAGE) -> Var:
|
|
507
|
-
"""Get the hook to register the language.
|
|
508
|
-
|
|
509
|
-
Args:
|
|
510
|
-
language_var: The const/literal Var of the language module to import.
|
|
511
|
-
For markdown, uses the default placeholder _LANGUAGE. For direct use,
|
|
512
|
-
a LiteralStringVar should be passed via the language prop.
|
|
513
|
-
|
|
514
|
-
Returns:
|
|
515
|
-
The hook to register the language.
|
|
516
|
-
"""
|
|
517
|
-
language_in_there = Var.create(typing.get_args(LiteralCodeLanguage)).contains(
|
|
518
|
-
language_var
|
|
519
|
-
)
|
|
520
|
-
async_load = f"""
|
|
521
|
-
(async () => {{
|
|
522
|
-
try {{
|
|
523
|
-
const module = await import(`react-syntax-highlighter/dist/cjs/languages/prism/${{{language_var!s}}}`);
|
|
524
|
-
SyntaxHighlighter.registerLanguage({language_var!s}, module.default);
|
|
525
|
-
}} catch (error) {{
|
|
526
|
-
console.error(`Language ${{{language_var!s}}} is not supported for code blocks inside of markdown: `, error);
|
|
527
|
-
}}
|
|
528
|
-
}})();
|
|
529
|
-
"""
|
|
530
|
-
return Var(
|
|
531
|
-
f"""
|
|
532
|
-
if ({language_var!s}) {{
|
|
533
|
-
if (!{language_in_there!s}) {{
|
|
534
|
-
console.warn(`Language \\`${{{language_var!s}}}\\` is not supported for code blocks inside of markdown.`);
|
|
535
|
-
{language_var!s} = '';
|
|
536
|
-
}} else {{
|
|
537
|
-
{async_load!s}
|
|
538
|
-
}}
|
|
539
|
-
}}
|
|
540
|
-
"""
|
|
541
|
-
if not isinstance(language_var, LiteralVar)
|
|
542
|
-
else f"""
|
|
543
|
-
if ({language_var!s}) {{
|
|
544
|
-
{async_load!s}
|
|
545
|
-
}}""",
|
|
546
|
-
_var_data=VarData(
|
|
547
|
-
imports={
|
|
548
|
-
cls.get_fields()["library"].default_value(): [
|
|
549
|
-
ImportVar(tag="PrismAsyncLight", alias="SyntaxHighlighter")
|
|
550
|
-
]
|
|
551
|
-
},
|
|
552
|
-
),
|
|
553
|
-
)
|
|
554
|
-
|
|
555
|
-
@classmethod
|
|
556
|
-
def get_component_map_custom_code(cls) -> Var:
|
|
557
|
-
"""Get the custom code for the component.
|
|
558
|
-
|
|
559
|
-
Returns:
|
|
560
|
-
The custom code for the component.
|
|
561
|
-
"""
|
|
562
|
-
return cls._get_language_registration_hook()
|
|
563
|
-
|
|
564
|
-
def add_hooks(self) -> list[str | Var]:
|
|
565
|
-
"""Add hooks for the component.
|
|
566
|
-
|
|
567
|
-
Returns:
|
|
568
|
-
The hooks for the component.
|
|
569
|
-
"""
|
|
570
|
-
return [
|
|
571
|
-
self._get_language_registration_hook(language_var=self.language),
|
|
572
|
-
]
|
|
573
|
-
|
|
574
509
|
|
|
575
510
|
class CodeblockNamespace(ComponentNamespace):
|
|
576
511
|
"""Namespace for the CodeBlock component."""
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
# ------------------------------------------------------
|
|
6
6
|
import dataclasses
|
|
7
7
|
from collections.abc import Mapping, Sequence
|
|
8
|
-
from typing import Any, ClassVar, Literal
|
|
8
|
+
from typing import Any, ClassVar, Literal
|
|
9
9
|
|
|
10
10
|
from reflex.components.component import Component, ComponentNamespace
|
|
11
11
|
from reflex.components.core.breakpoints import Breakpoints
|
|
12
12
|
from reflex.components.markdown.markdown import MarkdownComponentMap
|
|
13
13
|
from reflex.constants.colors import Color
|
|
14
|
-
from reflex.event import EventType
|
|
14
|
+
from reflex.event import EventType, PointerEventInfo
|
|
15
15
|
from reflex.vars.base import Var
|
|
16
16
|
|
|
17
17
|
LiteralCodeLanguage = Literal[
|
|
@@ -351,9 +351,8 @@ for theme_name in dir(Theme):
|
|
|
351
351
|
setattr(Theme, theme_name, getattr(Theme, theme_name)._replace(_var_type=Theme))
|
|
352
352
|
|
|
353
353
|
class CodeBlock(Component, MarkdownComponentMap):
|
|
354
|
-
@overload
|
|
355
354
|
@classmethod
|
|
356
|
-
def create(
|
|
355
|
+
def create(
|
|
357
356
|
cls,
|
|
358
357
|
*children,
|
|
359
358
|
theme: Theme | Var[Theme | str] | str | None = None,
|
|
@@ -942,9 +941,9 @@ class CodeBlock(Component, MarkdownComponentMap):
|
|
|
942
941
|
autofocus: bool | None = None,
|
|
943
942
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
944
943
|
on_blur: EventType[()] | None = None,
|
|
945
|
-
on_click: EventType[()] | None = None,
|
|
946
|
-
on_context_menu: EventType[()] | None = None,
|
|
947
|
-
on_double_click: EventType[()] | None = None,
|
|
944
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
945
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
946
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
948
947
|
on_focus: EventType[()] | None = None,
|
|
949
948
|
on_mount: EventType[()] | None = None,
|
|
950
949
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -955,6 +954,7 @@ class CodeBlock(Component, MarkdownComponentMap):
|
|
|
955
954
|
on_mouse_over: EventType[()] | None = None,
|
|
956
955
|
on_mouse_up: EventType[()] | None = None,
|
|
957
956
|
on_scroll: EventType[()] | None = None,
|
|
957
|
+
on_scroll_end: EventType[()] | None = None,
|
|
958
958
|
on_unmount: EventType[()] | None = None,
|
|
959
959
|
**props,
|
|
960
960
|
) -> CodeBlock:
|
|
@@ -986,9 +986,6 @@ class CodeBlock(Component, MarkdownComponentMap):
|
|
|
986
986
|
"""
|
|
987
987
|
|
|
988
988
|
def add_style(self): ...
|
|
989
|
-
@classmethod
|
|
990
|
-
def get_component_map_custom_code(cls) -> Var: ...
|
|
991
|
-
def add_hooks(self) -> list[str | Var]: ...
|
|
992
989
|
|
|
993
990
|
class CodeblockNamespace(ComponentNamespace):
|
|
994
991
|
themes = Theme
|
|
@@ -1582,9 +1579,9 @@ class CodeblockNamespace(ComponentNamespace):
|
|
|
1582
1579
|
autofocus: bool | None = None,
|
|
1583
1580
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
1584
1581
|
on_blur: EventType[()] | None = None,
|
|
1585
|
-
on_click: EventType[()] | None = None,
|
|
1586
|
-
on_context_menu: EventType[()] | None = None,
|
|
1587
|
-
on_double_click: EventType[()] | None = None,
|
|
1582
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1583
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1584
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
1588
1585
|
on_focus: EventType[()] | None = None,
|
|
1589
1586
|
on_mount: EventType[()] | None = None,
|
|
1590
1587
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -1595,6 +1592,7 @@ class CodeblockNamespace(ComponentNamespace):
|
|
|
1595
1592
|
on_mouse_over: EventType[()] | None = None,
|
|
1596
1593
|
on_mouse_up: EventType[()] | None = None,
|
|
1597
1594
|
on_scroll: EventType[()] | None = None,
|
|
1595
|
+
on_scroll_end: EventType[()] | None = None,
|
|
1598
1596
|
on_unmount: EventType[()] | None = None,
|
|
1599
1597
|
**props,
|
|
1600
1598
|
) -> CodeBlock:
|