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
|
@@ -4,18 +4,17 @@
|
|
|
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
|
-
from reflex.components.component import
|
|
9
|
+
from reflex.components.component import NoSSRComponent
|
|
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.utils.imports import ImportDict
|
|
13
13
|
from reflex.vars.base import Var
|
|
14
14
|
|
|
15
|
-
class Gridjs(
|
|
16
|
-
@overload
|
|
15
|
+
class Gridjs(NoSSRComponent):
|
|
17
16
|
@classmethod
|
|
18
|
-
def create(
|
|
17
|
+
def create(
|
|
19
18
|
cls,
|
|
20
19
|
*children,
|
|
21
20
|
style: Sequence[Mapping[str, Any]]
|
|
@@ -30,9 +29,9 @@ class Gridjs(Component):
|
|
|
30
29
|
autofocus: bool | None = None,
|
|
31
30
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
32
31
|
on_blur: EventType[()] | None = None,
|
|
33
|
-
on_click: EventType[()] | None = None,
|
|
34
|
-
on_context_menu: EventType[()] | None = None,
|
|
35
|
-
on_double_click: EventType[()] | None = None,
|
|
32
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
33
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
34
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
36
35
|
on_focus: EventType[()] | None = None,
|
|
37
36
|
on_mount: EventType[()] | None = None,
|
|
38
37
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -43,6 +42,7 @@ class Gridjs(Component):
|
|
|
43
42
|
on_mouse_over: EventType[()] | None = None,
|
|
44
43
|
on_mouse_up: EventType[()] | None = None,
|
|
45
44
|
on_scroll: EventType[()] | None = None,
|
|
45
|
+
on_scroll_end: EventType[()] | None = None,
|
|
46
46
|
on_unmount: EventType[()] | None = None,
|
|
47
47
|
**props,
|
|
48
48
|
) -> Gridjs:
|
|
@@ -64,9 +64,8 @@ class Gridjs(Component):
|
|
|
64
64
|
"""
|
|
65
65
|
|
|
66
66
|
class DataTable(Gridjs):
|
|
67
|
-
@overload
|
|
68
67
|
@classmethod
|
|
69
|
-
def create(
|
|
68
|
+
def create(
|
|
70
69
|
cls,
|
|
71
70
|
*children,
|
|
72
71
|
data: Any | None = None,
|
|
@@ -87,9 +86,9 @@ class DataTable(Gridjs):
|
|
|
87
86
|
autofocus: bool | None = None,
|
|
88
87
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
89
88
|
on_blur: EventType[()] | None = None,
|
|
90
|
-
on_click: EventType[()] | None = None,
|
|
91
|
-
on_context_menu: EventType[()] | None = None,
|
|
92
|
-
on_double_click: EventType[()] | None = None,
|
|
89
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
90
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
91
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
93
92
|
on_focus: EventType[()] | None = None,
|
|
94
93
|
on_mount: EventType[()] | None = None,
|
|
95
94
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -100,6 +99,7 @@ class DataTable(Gridjs):
|
|
|
100
99
|
on_mouse_over: EventType[()] | None = None,
|
|
101
100
|
on_mouse_up: EventType[()] | None = None,
|
|
102
101
|
on_scroll: EventType[()] | None = None,
|
|
102
|
+
on_scroll_end: EventType[()] | None = None,
|
|
103
103
|
on_unmount: EventType[()] | None = None,
|
|
104
104
|
**props,
|
|
105
105
|
) -> DataTable:
|
reflex/components/lucide/icon.py
CHANGED
|
@@ -6,11 +6,13 @@ from reflex.utils.imports import ImportVar
|
|
|
6
6
|
from reflex.vars.base import LiteralVar, Var
|
|
7
7
|
from reflex.vars.sequence import LiteralStringVar, StringVar
|
|
8
8
|
|
|
9
|
+
LUCIDE_LIBRARY = "lucide-react@0.511.0"
|
|
10
|
+
|
|
9
11
|
|
|
10
12
|
class LucideIconComponent(Component):
|
|
11
13
|
"""Lucide Icon Component."""
|
|
12
14
|
|
|
13
|
-
library =
|
|
15
|
+
library = LUCIDE_LIBRARY
|
|
14
16
|
|
|
15
17
|
|
|
16
18
|
class Icon(LucideIconComponent):
|
|
@@ -96,7 +98,9 @@ class DynamicIcon(LucideIconComponent):
|
|
|
96
98
|
_imports = super()._get_imports()
|
|
97
99
|
if self.library:
|
|
98
100
|
_imports.pop(self.library)
|
|
99
|
-
_imports[
|
|
101
|
+
_imports[LUCIDE_LIBRARY] = [
|
|
102
|
+
ImportVar("DynamicIcon", package_path="/dynamic.mjs")
|
|
103
|
+
]
|
|
100
104
|
return _imports
|
|
101
105
|
|
|
102
106
|
|
|
@@ -4,17 +4,18 @@
|
|
|
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
|
+
LUCIDE_LIBRARY = "lucide-react@0.511.0"
|
|
15
|
+
|
|
14
16
|
class LucideIconComponent(Component):
|
|
15
|
-
@overload
|
|
16
17
|
@classmethod
|
|
17
|
-
def create(
|
|
18
|
+
def create(
|
|
18
19
|
cls,
|
|
19
20
|
*children,
|
|
20
21
|
style: Sequence[Mapping[str, Any]]
|
|
@@ -29,9 +30,9 @@ class LucideIconComponent(Component):
|
|
|
29
30
|
autofocus: bool | None = None,
|
|
30
31
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
31
32
|
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,
|
|
33
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
34
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
35
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
35
36
|
on_focus: EventType[()] | None = None,
|
|
36
37
|
on_mount: EventType[()] | None = None,
|
|
37
38
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -42,6 +43,7 @@ class LucideIconComponent(Component):
|
|
|
42
43
|
on_mouse_over: EventType[()] | None = None,
|
|
43
44
|
on_mouse_up: EventType[()] | None = None,
|
|
44
45
|
on_scroll: EventType[()] | None = None,
|
|
46
|
+
on_scroll_end: EventType[()] | None = None,
|
|
45
47
|
on_unmount: EventType[()] | None = None,
|
|
46
48
|
**props,
|
|
47
49
|
) -> LucideIconComponent:
|
|
@@ -63,9 +65,8 @@ class LucideIconComponent(Component):
|
|
|
63
65
|
"""
|
|
64
66
|
|
|
65
67
|
class Icon(LucideIconComponent):
|
|
66
|
-
@overload
|
|
67
68
|
@classmethod
|
|
68
|
-
def create(
|
|
69
|
+
def create(
|
|
69
70
|
cls,
|
|
70
71
|
*children,
|
|
71
72
|
size: Var[int] | int | None = None,
|
|
@@ -81,9 +82,9 @@ class Icon(LucideIconComponent):
|
|
|
81
82
|
autofocus: bool | None = None,
|
|
82
83
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
83
84
|
on_blur: EventType[()] | None = None,
|
|
84
|
-
on_click: EventType[()] | None = None,
|
|
85
|
-
on_context_menu: EventType[()] | None = None,
|
|
86
|
-
on_double_click: EventType[()] | None = None,
|
|
85
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
86
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
87
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
87
88
|
on_focus: EventType[()] | None = None,
|
|
88
89
|
on_mount: EventType[()] | None = None,
|
|
89
90
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -94,6 +95,7 @@ class Icon(LucideIconComponent):
|
|
|
94
95
|
on_mouse_over: EventType[()] | None = None,
|
|
95
96
|
on_mouse_up: EventType[()] | None = None,
|
|
96
97
|
on_scroll: EventType[()] | None = None,
|
|
98
|
+
on_scroll_end: EventType[()] | None = None,
|
|
97
99
|
on_unmount: EventType[()] | None = None,
|
|
98
100
|
**props,
|
|
99
101
|
) -> Icon:
|
|
@@ -122,9 +124,8 @@ class Icon(LucideIconComponent):
|
|
|
122
124
|
"""
|
|
123
125
|
|
|
124
126
|
class DynamicIcon(LucideIconComponent):
|
|
125
|
-
@overload
|
|
126
127
|
@classmethod
|
|
127
|
-
def create(
|
|
128
|
+
def create(
|
|
128
129
|
cls,
|
|
129
130
|
*children,
|
|
130
131
|
name: Var[str] | str | None = None,
|
|
@@ -140,9 +141,9 @@ class DynamicIcon(LucideIconComponent):
|
|
|
140
141
|
autofocus: bool | None = None,
|
|
141
142
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
142
143
|
on_blur: EventType[()] | None = None,
|
|
143
|
-
on_click: EventType[()] | None = None,
|
|
144
|
-
on_context_menu: EventType[()] | None = None,
|
|
145
|
-
on_double_click: EventType[()] | None = None,
|
|
144
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
145
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
146
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
146
147
|
on_focus: EventType[()] | None = None,
|
|
147
148
|
on_mount: EventType[()] | None = None,
|
|
148
149
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -153,6 +154,7 @@ class DynamicIcon(LucideIconComponent):
|
|
|
153
154
|
on_mouse_over: EventType[()] | None = None,
|
|
154
155
|
on_mouse_up: EventType[()] | None = None,
|
|
155
156
|
on_scroll: EventType[()] | None = None,
|
|
157
|
+
on_scroll_end: EventType[()] | None = None,
|
|
156
158
|
on_unmount: EventType[()] | None = None,
|
|
157
159
|
**props,
|
|
158
160
|
) -> DynamicIcon:
|
|
@@ -9,7 +9,7 @@ from functools import lru_cache
|
|
|
9
9
|
from hashlib import md5
|
|
10
10
|
from typing import Any
|
|
11
11
|
|
|
12
|
-
from reflex.components.component import BaseComponent, Component, CustomComponent
|
|
12
|
+
from reflex.components.component import BaseComponent, Component, CustomComponent, field
|
|
13
13
|
from reflex.components.tags.tag import Tag
|
|
14
14
|
from reflex.utils.imports import ImportDict, ImportVar
|
|
15
15
|
from reflex.vars.base import LiteralVar, Var, VarData
|
|
@@ -150,10 +150,12 @@ class Markdown(Component):
|
|
|
150
150
|
is_default = True
|
|
151
151
|
|
|
152
152
|
# The component map from a tag to a lambda that creates a component.
|
|
153
|
-
component_map: dict[str, Any] =
|
|
153
|
+
component_map: dict[str, Any] = field(
|
|
154
|
+
default_factory=dict, is_javascript_property=False
|
|
155
|
+
)
|
|
154
156
|
|
|
155
157
|
# The hash of the component map, generated at create() time.
|
|
156
|
-
component_map_hash: str = ""
|
|
158
|
+
component_map_hash: str = field(default="", is_javascript_property=False)
|
|
157
159
|
|
|
158
160
|
@classmethod
|
|
159
161
|
def create(cls, *children, **props) -> Component:
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
import dataclasses
|
|
7
7
|
from collections.abc import Callable, Mapping, Sequence
|
|
8
8
|
from functools import lru_cache
|
|
9
|
-
from typing import Any
|
|
9
|
+
from typing import Any
|
|
10
10
|
|
|
11
11
|
from reflex.components.component import Component
|
|
12
12
|
from reflex.components.core.breakpoints import Breakpoints
|
|
13
|
-
from reflex.event import EventType
|
|
13
|
+
from reflex.event import EventType, PointerEventInfo
|
|
14
14
|
from reflex.utils.imports import ImportDict
|
|
15
15
|
from reflex.vars.base import LiteralVar, Var, VarData
|
|
16
16
|
|
|
@@ -48,9 +48,8 @@ class MarkdownComponentMap:
|
|
|
48
48
|
def get_fn_body(cls) -> Var: ...
|
|
49
49
|
|
|
50
50
|
class Markdown(Component):
|
|
51
|
-
@overload
|
|
52
51
|
@classmethod
|
|
53
|
-
def create(
|
|
52
|
+
def create(
|
|
54
53
|
cls,
|
|
55
54
|
*children,
|
|
56
55
|
component_map: dict[str, Any] | None = None,
|
|
@@ -67,9 +66,9 @@ class Markdown(Component):
|
|
|
67
66
|
autofocus: bool | None = None,
|
|
68
67
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
69
68
|
on_blur: EventType[()] | None = None,
|
|
70
|
-
on_click: EventType[()] | None = None,
|
|
71
|
-
on_context_menu: EventType[()] | None = None,
|
|
72
|
-
on_double_click: EventType[()] | None = None,
|
|
69
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
70
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
71
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
73
72
|
on_focus: EventType[()] | None = None,
|
|
74
73
|
on_mount: EventType[()] | None = None,
|
|
75
74
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -80,6 +79,7 @@ class Markdown(Component):
|
|
|
80
79
|
on_mouse_over: EventType[()] | None = None,
|
|
81
80
|
on_mouse_up: EventType[()] | None = None,
|
|
82
81
|
on_scroll: EventType[()] | None = None,
|
|
82
|
+
on_scroll_end: EventType[()] | None = None,
|
|
83
83
|
on_unmount: EventType[()] | None = None,
|
|
84
84
|
**props,
|
|
85
85
|
) -> Markdown:
|
|
@@ -30,7 +30,7 @@ class Moment(NoSSRComponent):
|
|
|
30
30
|
tag: str | None = "Moment"
|
|
31
31
|
is_default = True
|
|
32
32
|
library: str | None = "react-moment@1.1.3"
|
|
33
|
-
lib_dependencies: list[str] = ["moment"]
|
|
33
|
+
lib_dependencies: list[str] = ["moment@2.30.1"]
|
|
34
34
|
|
|
35
35
|
# How often the date update (how often time update / 0 to disable).
|
|
36
36
|
interval: Var[int]
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
import dataclasses
|
|
7
7
|
from collections.abc import Mapping, Sequence
|
|
8
8
|
from datetime import date, datetime, time, timedelta
|
|
9
|
-
from typing import Any
|
|
9
|
+
from typing import Any
|
|
10
10
|
|
|
11
11
|
from reflex.components.component import NoSSRComponent
|
|
12
12
|
from reflex.components.core.breakpoints import Breakpoints
|
|
13
|
-
from reflex.event import EventType
|
|
13
|
+
from reflex.event import EventType, PointerEventInfo
|
|
14
14
|
from reflex.utils.imports import ImportDict
|
|
15
15
|
from reflex.vars.base import Var
|
|
16
16
|
|
|
@@ -28,9 +28,8 @@ class MomentDelta:
|
|
|
28
28
|
|
|
29
29
|
class Moment(NoSSRComponent):
|
|
30
30
|
def add_imports(self) -> ImportDict: ...
|
|
31
|
-
@overload
|
|
32
31
|
@classmethod
|
|
33
|
-
def create(
|
|
32
|
+
def create(
|
|
34
33
|
cls,
|
|
35
34
|
*children,
|
|
36
35
|
interval: Var[int] | int | None = None,
|
|
@@ -73,9 +72,9 @@ class Moment(NoSSRComponent):
|
|
|
73
72
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
74
73
|
on_blur: EventType[()] | None = None,
|
|
75
74
|
on_change: EventType[()] | EventType[str] | None = None,
|
|
76
|
-
on_click: EventType[()] | None = None,
|
|
77
|
-
on_context_menu: EventType[()] | None = None,
|
|
78
|
-
on_double_click: EventType[()] | None = None,
|
|
75
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
76
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
77
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
79
78
|
on_focus: EventType[()] | None = None,
|
|
80
79
|
on_mount: EventType[()] | None = None,
|
|
81
80
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -86,6 +85,7 @@ class Moment(NoSSRComponent):
|
|
|
86
85
|
on_mouse_over: EventType[()] | None = None,
|
|
87
86
|
on_mouse_up: EventType[()] | None = None,
|
|
88
87
|
on_scroll: EventType[()] | None = None,
|
|
88
|
+
on_scroll_end: EventType[()] | None = None,
|
|
89
89
|
on_unmount: EventType[()] | None = None,
|
|
90
90
|
**props,
|
|
91
91
|
) -> Moment:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Any, TypedDict, TypeVar
|
|
5
|
+
from typing import TYPE_CHECKING, Any, TypedDict, TypeVar
|
|
6
6
|
|
|
7
7
|
from reflex.components.component import Component, NoSSRComponent
|
|
8
8
|
from reflex.components.core.cond import color_mode_cond
|
|
@@ -17,8 +17,9 @@ try:
|
|
|
17
17
|
|
|
18
18
|
except ImportError:
|
|
19
19
|
console.warn("Plotly is not installed. Please run `pip install plotly`.")
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
if not TYPE_CHECKING:
|
|
21
|
+
Figure = Any
|
|
22
|
+
Template = Any
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
def _event_points_data_signature(e0: Var) -> tuple[Var[list[Point]]]:
|
|
@@ -78,13 +79,13 @@ class Plotly(NoSSRComponent):
|
|
|
78
79
|
is_default = True
|
|
79
80
|
|
|
80
81
|
# The figure to display. This can be a plotly figure or a plotly data json.
|
|
81
|
-
data: Var[Figure]
|
|
82
|
+
data: Var[Figure]
|
|
82
83
|
|
|
83
84
|
# The layout of the graph.
|
|
84
85
|
layout: Var[dict]
|
|
85
86
|
|
|
86
87
|
# The template for visual appearance of the graph.
|
|
87
|
-
template: Var[Template]
|
|
88
|
+
template: Var[Template]
|
|
88
89
|
|
|
89
90
|
# The config of the graph.
|
|
90
91
|
config: Var[dict]
|
|
@@ -213,6 +214,7 @@ const extractPoints = (points) => {
|
|
|
213
214
|
Returns:
|
|
214
215
|
The Plotly component.
|
|
215
216
|
"""
|
|
217
|
+
from plotly.graph_objs.layout import Template
|
|
216
218
|
from plotly.io import templates
|
|
217
219
|
|
|
218
220
|
responsive_template = color_mode_cond(
|
|
@@ -277,8 +279,12 @@ def dynamic_plotly_import(name: str, package: str) -> str:
|
|
|
277
279
|
Returns:
|
|
278
280
|
The dynamic import for the plotly component.
|
|
279
281
|
"""
|
|
282
|
+
library_import = f"import('{package}')"
|
|
283
|
+
mod_import = ".then((mod) => ({ default: createPlotlyComponent(mod) }))"
|
|
280
284
|
return f"""
|
|
281
|
-
const {name} =
|
|
285
|
+
const {name} = ClientSide(lazy(() =>
|
|
286
|
+
{library_import}{mod_import}
|
|
287
|
+
))
|
|
282
288
|
"""
|
|
283
289
|
|
|
284
290
|
|