reflex 0.7.14a5__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 +103 -152
- 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.14a5.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-0.7.14a5.dist-info/RECORD +0 -407
- {reflex-0.7.14a5.dist-info → reflex-0.8.0.dist-info}/WHEEL +0 -0
- {reflex-0.7.14a5.dist-info → reflex-0.8.0.dist-info}/entry_points.txt +0 -0
- {reflex-0.7.14a5.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, Literal
|
|
7
|
+
from typing import Any, Literal
|
|
8
8
|
|
|
9
9
|
from reflex.components.core.breakpoints import Breakpoints
|
|
10
10
|
from reflex.components.el import elements
|
|
11
11
|
from reflex.components.radix.themes.base import RadixThemesComponent
|
|
12
|
-
from reflex.event import EventType
|
|
12
|
+
from reflex.event import EventType, PointerEventInfo
|
|
13
13
|
from reflex.vars.base import Var
|
|
14
14
|
|
|
15
15
|
class Blockquote(elements.Blockquote, RadixThemesComponent):
|
|
16
|
-
@overload
|
|
17
16
|
@classmethod
|
|
18
|
-
def create(
|
|
17
|
+
def create(
|
|
19
18
|
cls,
|
|
20
19
|
*children,
|
|
21
20
|
size: Breakpoints[str, Literal["1", "2", "3", "4", "5", "6", "7", "8", "9"]]
|
|
@@ -283,9 +282,9 @@ class Blockquote(elements.Blockquote, RadixThemesComponent):
|
|
|
283
282
|
autofocus: bool | None = None,
|
|
284
283
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
285
284
|
on_blur: EventType[()] | None = None,
|
|
286
|
-
on_click: EventType[()] | None = None,
|
|
287
|
-
on_context_menu: EventType[()] | None = None,
|
|
288
|
-
on_double_click: EventType[()] | None = None,
|
|
285
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
286
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
287
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
289
288
|
on_focus: EventType[()] | None = None,
|
|
290
289
|
on_mount: EventType[()] | None = None,
|
|
291
290
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -296,6 +295,7 @@ class Blockquote(elements.Blockquote, RadixThemesComponent):
|
|
|
296
295
|
on_mouse_over: EventType[()] | None = None,
|
|
297
296
|
on_mouse_up: EventType[()] | None = None,
|
|
298
297
|
on_scroll: EventType[()] | None = None,
|
|
298
|
+
on_scroll_end: EventType[()] | None = None,
|
|
299
299
|
on_unmount: EventType[()] | None = None,
|
|
300
300
|
**props,
|
|
301
301
|
) -> Blockquote:
|
|
@@ -4,19 +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, Literal
|
|
7
|
+
from typing import Any, Literal
|
|
8
8
|
|
|
9
9
|
from reflex.components.core.breakpoints import Breakpoints
|
|
10
10
|
from reflex.components.el import elements
|
|
11
11
|
from reflex.components.markdown.markdown import MarkdownComponentMap
|
|
12
12
|
from reflex.components.radix.themes.base import RadixThemesComponent
|
|
13
|
-
from reflex.event import EventType
|
|
13
|
+
from reflex.event import EventType, PointerEventInfo
|
|
14
14
|
from reflex.vars.base import Var
|
|
15
15
|
|
|
16
16
|
class Code(elements.Code, RadixThemesComponent, MarkdownComponentMap):
|
|
17
|
-
@overload
|
|
18
17
|
@classmethod
|
|
19
|
-
def create(
|
|
18
|
+
def create(
|
|
20
19
|
cls,
|
|
21
20
|
*children,
|
|
22
21
|
variant: Literal["classic", "ghost", "outline", "soft", "solid", "surface"]
|
|
@@ -286,9 +285,9 @@ class Code(elements.Code, RadixThemesComponent, MarkdownComponentMap):
|
|
|
286
285
|
autofocus: bool | None = None,
|
|
287
286
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
288
287
|
on_blur: EventType[()] | None = None,
|
|
289
|
-
on_click: EventType[()] | None = None,
|
|
290
|
-
on_context_menu: EventType[()] | None = None,
|
|
291
|
-
on_double_click: EventType[()] | None = None,
|
|
288
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
289
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
290
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
292
291
|
on_focus: EventType[()] | None = None,
|
|
293
292
|
on_mount: EventType[()] | None = None,
|
|
294
293
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -299,6 +298,7 @@ class Code(elements.Code, RadixThemesComponent, MarkdownComponentMap):
|
|
|
299
298
|
on_mouse_over: EventType[()] | None = None,
|
|
300
299
|
on_mouse_up: EventType[()] | None = None,
|
|
301
300
|
on_scroll: EventType[()] | None = None,
|
|
301
|
+
on_scroll_end: EventType[()] | None = None,
|
|
302
302
|
on_unmount: EventType[()] | None = None,
|
|
303
303
|
**props,
|
|
304
304
|
) -> Code:
|
|
@@ -4,19 +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, Literal
|
|
7
|
+
from typing import Any, Literal
|
|
8
8
|
|
|
9
9
|
from reflex.components.core.breakpoints import Breakpoints
|
|
10
10
|
from reflex.components.el import elements
|
|
11
11
|
from reflex.components.markdown.markdown import MarkdownComponentMap
|
|
12
12
|
from reflex.components.radix.themes.base import RadixThemesComponent
|
|
13
|
-
from reflex.event import EventType
|
|
13
|
+
from reflex.event import EventType, PointerEventInfo
|
|
14
14
|
from reflex.vars.base import Var
|
|
15
15
|
|
|
16
16
|
class Heading(elements.H1, RadixThemesComponent, MarkdownComponentMap):
|
|
17
|
-
@overload
|
|
18
17
|
@classmethod
|
|
19
|
-
def create(
|
|
18
|
+
def create(
|
|
20
19
|
cls,
|
|
21
20
|
*children,
|
|
22
21
|
as_child: Var[bool] | bool | None = None,
|
|
@@ -299,9 +298,9 @@ class Heading(elements.H1, RadixThemesComponent, MarkdownComponentMap):
|
|
|
299
298
|
autofocus: bool | None = None,
|
|
300
299
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
301
300
|
on_blur: EventType[()] | None = None,
|
|
302
|
-
on_click: EventType[()] | None = None,
|
|
303
|
-
on_context_menu: EventType[()] | None = None,
|
|
304
|
-
on_double_click: EventType[()] | None = None,
|
|
301
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
302
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
303
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
305
304
|
on_focus: EventType[()] | None = None,
|
|
306
305
|
on_mount: EventType[()] | None = None,
|
|
307
306
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -312,6 +311,7 @@ class Heading(elements.H1, RadixThemesComponent, MarkdownComponentMap):
|
|
|
312
311
|
on_mouse_over: EventType[()] | None = None,
|
|
313
312
|
on_mouse_up: EventType[()] | None = None,
|
|
314
313
|
on_scroll: EventType[()] | None = None,
|
|
314
|
+
on_scroll_end: EventType[()] | None = None,
|
|
315
315
|
on_unmount: EventType[()] | None = None,
|
|
316
316
|
**props,
|
|
317
317
|
) -> Heading:
|
|
@@ -13,16 +13,46 @@ from reflex.components.core.colors import color
|
|
|
13
13
|
from reflex.components.core.cond import cond
|
|
14
14
|
from reflex.components.el.elements.inline import A
|
|
15
15
|
from reflex.components.markdown.markdown import MarkdownComponentMap
|
|
16
|
-
from reflex.components.next.link import NextLink
|
|
17
16
|
from reflex.components.radix.themes.base import LiteralAccentColor, RadixThemesComponent
|
|
18
|
-
from reflex.utils.imports import ImportDict
|
|
17
|
+
from reflex.utils.imports import ImportDict, ImportVar
|
|
19
18
|
from reflex.vars.base import Var
|
|
20
19
|
|
|
21
20
|
from .base import LiteralTextSize, LiteralTextTrim, LiteralTextWeight
|
|
22
21
|
|
|
23
22
|
LiteralLinkUnderline = Literal["auto", "hover", "always", "none"]
|
|
24
23
|
|
|
25
|
-
|
|
24
|
+
LiteralLinkDiscover = Literal["none", "render"]
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ReactRouterLink(A):
|
|
28
|
+
"""Links are accessible elements used primarily for navigation. This component is styled to resemble a hyperlink and semantically renders an <a>."""
|
|
29
|
+
|
|
30
|
+
library = "react-router"
|
|
31
|
+
|
|
32
|
+
tag = "Link"
|
|
33
|
+
|
|
34
|
+
alias = "ReactRouterLink"
|
|
35
|
+
|
|
36
|
+
# The page to link to.
|
|
37
|
+
to: Var[str]
|
|
38
|
+
|
|
39
|
+
# Replaces the current entry in the history stack instead of pushing a new one onto it.
|
|
40
|
+
replace: Var[bool]
|
|
41
|
+
|
|
42
|
+
# Will use document navigation instead of client side routing when the link is clicked: the browser will handle the transition normally (as if it were an <a href>).
|
|
43
|
+
reload_document: Var[bool]
|
|
44
|
+
|
|
45
|
+
# Prevents the scroll position from being reset to the top of the window when the link is clicked and the app is using ScrollRestoration. This only prevents new locations resetting scroll to the top, scroll position will be restored for back/forward button navigation.
|
|
46
|
+
prevent_scroll_reset: Var[bool]
|
|
47
|
+
|
|
48
|
+
# Defines the link discovery behavior
|
|
49
|
+
discover: Var[LiteralLinkDiscover]
|
|
50
|
+
|
|
51
|
+
# Enables a View Transition for this navigation.
|
|
52
|
+
view_transition: Var[bool]
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
_KNOWN_REACT_ROUTER_LINK_PROPS = frozenset(ReactRouterLink.get_props())
|
|
26
56
|
|
|
27
57
|
|
|
28
58
|
class Link(RadixThemesComponent, A, MemoizationLeaf, MarkdownComponentMap):
|
|
@@ -60,7 +90,9 @@ class Link(RadixThemesComponent, A, MemoizationLeaf, MarkdownComponentMap):
|
|
|
60
90
|
Returns:
|
|
61
91
|
The import dict.
|
|
62
92
|
"""
|
|
63
|
-
return
|
|
93
|
+
return {
|
|
94
|
+
"react-router": [ImportVar(tag="Link", alias="ReactRouterLink")],
|
|
95
|
+
}
|
|
64
96
|
|
|
65
97
|
@classmethod
|
|
66
98
|
def create(cls, *children, **props) -> Component:
|
|
@@ -90,16 +122,19 @@ class Link(RadixThemesComponent, A, MemoizationLeaf, MarkdownComponentMap):
|
|
|
90
122
|
raise ValueError(msg)
|
|
91
123
|
|
|
92
124
|
if "as_child" not in props:
|
|
93
|
-
# Extract props for the
|
|
94
|
-
|
|
95
|
-
next_link_props = {}
|
|
125
|
+
# Extract props for the ReactRouterLink, the rest go to the Link/A element.
|
|
126
|
+
react_router_link_props = {}
|
|
96
127
|
for prop in props.copy():
|
|
97
|
-
if prop in
|
|
98
|
-
|
|
128
|
+
if prop in _KNOWN_REACT_ROUTER_LINK_PROPS:
|
|
129
|
+
react_router_link_props[prop] = props.pop(prop)
|
|
130
|
+
|
|
131
|
+
react_router_link_props["to"] = react_router_link_props.pop(
|
|
132
|
+
"href", href
|
|
133
|
+
)
|
|
99
134
|
|
|
100
|
-
# If user does not use `as_child`, by default we render using
|
|
135
|
+
# If user does not use `as_child`, by default we render using react_router_link to avoid page refresh during internal navigation
|
|
101
136
|
return super().create(
|
|
102
|
-
|
|
137
|
+
ReactRouterLink.create(*children, **react_router_link_props),
|
|
103
138
|
as_child=True,
|
|
104
139
|
**props,
|
|
105
140
|
)
|
|
@@ -4,26 +4,328 @@
|
|
|
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 MemoizationLeaf
|
|
10
10
|
from reflex.components.core.breakpoints import Breakpoints
|
|
11
11
|
from reflex.components.el.elements.inline import A
|
|
12
12
|
from reflex.components.markdown.markdown import MarkdownComponentMap
|
|
13
|
-
from reflex.components.next.link import NextLink
|
|
14
13
|
from reflex.components.radix.themes.base import RadixThemesComponent
|
|
15
|
-
from reflex.event import EventType
|
|
14
|
+
from reflex.event import EventType, PointerEventInfo
|
|
16
15
|
from reflex.utils.imports import ImportDict
|
|
17
16
|
from reflex.vars.base import Var
|
|
18
17
|
|
|
19
18
|
LiteralLinkUnderline = Literal["auto", "hover", "always", "none"]
|
|
20
|
-
|
|
19
|
+
LiteralLinkDiscover = Literal["none", "render"]
|
|
20
|
+
|
|
21
|
+
class ReactRouterLink(A):
|
|
22
|
+
@classmethod
|
|
23
|
+
def create(
|
|
24
|
+
cls,
|
|
25
|
+
*children,
|
|
26
|
+
to: Var[str] | str | None = None,
|
|
27
|
+
replace: Var[bool] | bool | None = None,
|
|
28
|
+
reload_document: Var[bool] | bool | None = None,
|
|
29
|
+
prevent_scroll_reset: Var[bool] | bool | None = None,
|
|
30
|
+
discover: Literal["none", "render"]
|
|
31
|
+
| Var[Literal["none", "render"]]
|
|
32
|
+
| None = None,
|
|
33
|
+
view_transition: Var[bool] | bool | None = None,
|
|
34
|
+
download: Var[bool | str] | bool | str | None = None,
|
|
35
|
+
href: Var[str] | str | None = None,
|
|
36
|
+
href_lang: Var[str] | str | None = None,
|
|
37
|
+
media: Var[str] | str | None = None,
|
|
38
|
+
ping: Var[str] | str | None = None,
|
|
39
|
+
referrer_policy: Literal[
|
|
40
|
+
"",
|
|
41
|
+
"no-referrer",
|
|
42
|
+
"no-referrer-when-downgrade",
|
|
43
|
+
"origin",
|
|
44
|
+
"origin-when-cross-origin",
|
|
45
|
+
"same-origin",
|
|
46
|
+
"strict-origin",
|
|
47
|
+
"strict-origin-when-cross-origin",
|
|
48
|
+
"unsafe-url",
|
|
49
|
+
]
|
|
50
|
+
| Var[
|
|
51
|
+
Literal[
|
|
52
|
+
"",
|
|
53
|
+
"no-referrer",
|
|
54
|
+
"no-referrer-when-downgrade",
|
|
55
|
+
"origin",
|
|
56
|
+
"origin-when-cross-origin",
|
|
57
|
+
"same-origin",
|
|
58
|
+
"strict-origin",
|
|
59
|
+
"strict-origin-when-cross-origin",
|
|
60
|
+
"unsafe-url",
|
|
61
|
+
]
|
|
62
|
+
]
|
|
63
|
+
| None = None,
|
|
64
|
+
rel: Var[str] | str | None = None,
|
|
65
|
+
target: Literal["_blank", "_parent", "_self", "_top"]
|
|
66
|
+
| Var[Literal["_blank", "_parent", "_self", "_top"] | str]
|
|
67
|
+
| str
|
|
68
|
+
| None = None,
|
|
69
|
+
access_key: Var[str] | str | None = None,
|
|
70
|
+
auto_capitalize: Literal[
|
|
71
|
+
"characters", "none", "off", "on", "sentences", "words"
|
|
72
|
+
]
|
|
73
|
+
| Var[Literal["characters", "none", "off", "on", "sentences", "words"]]
|
|
74
|
+
| None = None,
|
|
75
|
+
content_editable: Literal["inherit", "plaintext-only", False, True]
|
|
76
|
+
| Var[Literal["inherit", "plaintext-only", False, True]]
|
|
77
|
+
| None = None,
|
|
78
|
+
context_menu: Var[str] | str | None = None,
|
|
79
|
+
dir: Var[str] | str | None = None,
|
|
80
|
+
draggable: Var[bool] | bool | None = None,
|
|
81
|
+
enter_key_hint: Literal[
|
|
82
|
+
"done", "enter", "go", "next", "previous", "search", "send"
|
|
83
|
+
]
|
|
84
|
+
| Var[Literal["done", "enter", "go", "next", "previous", "search", "send"]]
|
|
85
|
+
| None = None,
|
|
86
|
+
hidden: Var[bool] | bool | None = None,
|
|
87
|
+
input_mode: Literal[
|
|
88
|
+
"decimal", "email", "none", "numeric", "search", "tel", "text", "url"
|
|
89
|
+
]
|
|
90
|
+
| Var[
|
|
91
|
+
Literal[
|
|
92
|
+
"decimal", "email", "none", "numeric", "search", "tel", "text", "url"
|
|
93
|
+
]
|
|
94
|
+
]
|
|
95
|
+
| None = None,
|
|
96
|
+
item_prop: Var[str] | str | None = None,
|
|
97
|
+
lang: Var[str] | str | None = None,
|
|
98
|
+
role: Literal[
|
|
99
|
+
"alert",
|
|
100
|
+
"alertdialog",
|
|
101
|
+
"application",
|
|
102
|
+
"article",
|
|
103
|
+
"banner",
|
|
104
|
+
"button",
|
|
105
|
+
"cell",
|
|
106
|
+
"checkbox",
|
|
107
|
+
"columnheader",
|
|
108
|
+
"combobox",
|
|
109
|
+
"complementary",
|
|
110
|
+
"contentinfo",
|
|
111
|
+
"definition",
|
|
112
|
+
"dialog",
|
|
113
|
+
"directory",
|
|
114
|
+
"document",
|
|
115
|
+
"feed",
|
|
116
|
+
"figure",
|
|
117
|
+
"form",
|
|
118
|
+
"grid",
|
|
119
|
+
"gridcell",
|
|
120
|
+
"group",
|
|
121
|
+
"heading",
|
|
122
|
+
"img",
|
|
123
|
+
"link",
|
|
124
|
+
"list",
|
|
125
|
+
"listbox",
|
|
126
|
+
"listitem",
|
|
127
|
+
"log",
|
|
128
|
+
"main",
|
|
129
|
+
"marquee",
|
|
130
|
+
"math",
|
|
131
|
+
"menu",
|
|
132
|
+
"menubar",
|
|
133
|
+
"menuitem",
|
|
134
|
+
"menuitemcheckbox",
|
|
135
|
+
"menuitemradio",
|
|
136
|
+
"navigation",
|
|
137
|
+
"none",
|
|
138
|
+
"note",
|
|
139
|
+
"option",
|
|
140
|
+
"presentation",
|
|
141
|
+
"progressbar",
|
|
142
|
+
"radio",
|
|
143
|
+
"radiogroup",
|
|
144
|
+
"region",
|
|
145
|
+
"row",
|
|
146
|
+
"rowgroup",
|
|
147
|
+
"rowheader",
|
|
148
|
+
"scrollbar",
|
|
149
|
+
"search",
|
|
150
|
+
"searchbox",
|
|
151
|
+
"separator",
|
|
152
|
+
"slider",
|
|
153
|
+
"spinbutton",
|
|
154
|
+
"status",
|
|
155
|
+
"switch",
|
|
156
|
+
"tab",
|
|
157
|
+
"table",
|
|
158
|
+
"tablist",
|
|
159
|
+
"tabpanel",
|
|
160
|
+
"term",
|
|
161
|
+
"textbox",
|
|
162
|
+
"timer",
|
|
163
|
+
"toolbar",
|
|
164
|
+
"tooltip",
|
|
165
|
+
"tree",
|
|
166
|
+
"treegrid",
|
|
167
|
+
"treeitem",
|
|
168
|
+
]
|
|
169
|
+
| Var[
|
|
170
|
+
Literal[
|
|
171
|
+
"alert",
|
|
172
|
+
"alertdialog",
|
|
173
|
+
"application",
|
|
174
|
+
"article",
|
|
175
|
+
"banner",
|
|
176
|
+
"button",
|
|
177
|
+
"cell",
|
|
178
|
+
"checkbox",
|
|
179
|
+
"columnheader",
|
|
180
|
+
"combobox",
|
|
181
|
+
"complementary",
|
|
182
|
+
"contentinfo",
|
|
183
|
+
"definition",
|
|
184
|
+
"dialog",
|
|
185
|
+
"directory",
|
|
186
|
+
"document",
|
|
187
|
+
"feed",
|
|
188
|
+
"figure",
|
|
189
|
+
"form",
|
|
190
|
+
"grid",
|
|
191
|
+
"gridcell",
|
|
192
|
+
"group",
|
|
193
|
+
"heading",
|
|
194
|
+
"img",
|
|
195
|
+
"link",
|
|
196
|
+
"list",
|
|
197
|
+
"listbox",
|
|
198
|
+
"listitem",
|
|
199
|
+
"log",
|
|
200
|
+
"main",
|
|
201
|
+
"marquee",
|
|
202
|
+
"math",
|
|
203
|
+
"menu",
|
|
204
|
+
"menubar",
|
|
205
|
+
"menuitem",
|
|
206
|
+
"menuitemcheckbox",
|
|
207
|
+
"menuitemradio",
|
|
208
|
+
"navigation",
|
|
209
|
+
"none",
|
|
210
|
+
"note",
|
|
211
|
+
"option",
|
|
212
|
+
"presentation",
|
|
213
|
+
"progressbar",
|
|
214
|
+
"radio",
|
|
215
|
+
"radiogroup",
|
|
216
|
+
"region",
|
|
217
|
+
"row",
|
|
218
|
+
"rowgroup",
|
|
219
|
+
"rowheader",
|
|
220
|
+
"scrollbar",
|
|
221
|
+
"search",
|
|
222
|
+
"searchbox",
|
|
223
|
+
"separator",
|
|
224
|
+
"slider",
|
|
225
|
+
"spinbutton",
|
|
226
|
+
"status",
|
|
227
|
+
"switch",
|
|
228
|
+
"tab",
|
|
229
|
+
"table",
|
|
230
|
+
"tablist",
|
|
231
|
+
"tabpanel",
|
|
232
|
+
"term",
|
|
233
|
+
"textbox",
|
|
234
|
+
"timer",
|
|
235
|
+
"toolbar",
|
|
236
|
+
"tooltip",
|
|
237
|
+
"tree",
|
|
238
|
+
"treegrid",
|
|
239
|
+
"treeitem",
|
|
240
|
+
]
|
|
241
|
+
]
|
|
242
|
+
| None = None,
|
|
243
|
+
slot: Var[str] | str | None = None,
|
|
244
|
+
spell_check: Var[bool] | bool | None = None,
|
|
245
|
+
tab_index: Var[int] | int | None = None,
|
|
246
|
+
title: Var[str] | str | None = None,
|
|
247
|
+
style: Sequence[Mapping[str, Any]]
|
|
248
|
+
| Mapping[str, Any]
|
|
249
|
+
| Var[Mapping[str, Any]]
|
|
250
|
+
| Breakpoints
|
|
251
|
+
| None = None,
|
|
252
|
+
key: Any | None = None,
|
|
253
|
+
id: Any | None = None,
|
|
254
|
+
ref: Var | None = None,
|
|
255
|
+
class_name: Any | None = None,
|
|
256
|
+
autofocus: bool | None = None,
|
|
257
|
+
custom_attrs: dict[str, Var | Any] | None = None,
|
|
258
|
+
on_blur: EventType[()] | None = None,
|
|
259
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
260
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
261
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
262
|
+
on_focus: EventType[()] | None = None,
|
|
263
|
+
on_mount: EventType[()] | None = None,
|
|
264
|
+
on_mouse_down: EventType[()] | None = None,
|
|
265
|
+
on_mouse_enter: EventType[()] | None = None,
|
|
266
|
+
on_mouse_leave: EventType[()] | None = None,
|
|
267
|
+
on_mouse_move: EventType[()] | None = None,
|
|
268
|
+
on_mouse_out: EventType[()] | None = None,
|
|
269
|
+
on_mouse_over: EventType[()] | None = None,
|
|
270
|
+
on_mouse_up: EventType[()] | None = None,
|
|
271
|
+
on_scroll: EventType[()] | None = None,
|
|
272
|
+
on_scroll_end: EventType[()] | None = None,
|
|
273
|
+
on_unmount: EventType[()] | None = None,
|
|
274
|
+
**props,
|
|
275
|
+
) -> ReactRouterLink:
|
|
276
|
+
"""Create the component.
|
|
277
|
+
|
|
278
|
+
Args:
|
|
279
|
+
*children: The children of the component.
|
|
280
|
+
to: The page to link to.
|
|
281
|
+
replace: Replaces the current entry in the history stack instead of pushing a new one onto it.
|
|
282
|
+
reload_document: Will use document navigation instead of client side routing when the link is clicked: the browser will handle the transition normally (as if it were an <a href>).
|
|
283
|
+
prevent_scroll_reset: Prevents the scroll position from being reset to the top of the window when the link is clicked and the app is using ScrollRestoration. This only prevents new locations resetting scroll to the top, scroll position will be restored for back/forward button navigation.
|
|
284
|
+
discover: Defines the link discovery behavior
|
|
285
|
+
view_transition: Enables a View Transition for this navigation.
|
|
286
|
+
download: Specifies that the target (the file specified in the href attribute) will be downloaded when a user clicks on the hyperlink.
|
|
287
|
+
href: Specifies the URL of the page the link goes to
|
|
288
|
+
href_lang: Specifies the language of the linked document
|
|
289
|
+
media: Specifies what media/device the linked document is optimized for
|
|
290
|
+
ping: Specifies which referrer is sent when fetching the resource
|
|
291
|
+
referrer_policy: Specifies the relationship between the current document and the linked document
|
|
292
|
+
rel: Specifies the relationship between the linked document and the current document
|
|
293
|
+
target: Specifies where to open the linked document
|
|
294
|
+
access_key: Provides a hint for generating a keyboard shortcut for the current element.
|
|
295
|
+
auto_capitalize: Controls whether and how text input is automatically capitalized as it is entered/edited by the user.
|
|
296
|
+
content_editable: Indicates whether the element's content is editable.
|
|
297
|
+
context_menu: Defines the ID of a <menu> element which will serve as the element's context menu.
|
|
298
|
+
dir: Defines the text direction. Allowed values are ltr (Left-To-Right) or rtl (Right-To-Left)
|
|
299
|
+
draggable: Defines whether the element can be dragged.
|
|
300
|
+
enter_key_hint: Hints what media types the media element is able to play.
|
|
301
|
+
hidden: Defines whether the element is hidden.
|
|
302
|
+
input_mode: Defines the type of the element.
|
|
303
|
+
item_prop: Defines the name of the element for metadata purposes.
|
|
304
|
+
lang: Defines the language used in the element.
|
|
305
|
+
role: Defines the role of the element.
|
|
306
|
+
slot: Assigns a slot in a shadow DOM shadow tree to an element.
|
|
307
|
+
spell_check: Defines whether the element may be checked for spelling errors.
|
|
308
|
+
tab_index: Defines the position of the current element in the tabbing order.
|
|
309
|
+
title: Defines a tooltip for the element.
|
|
310
|
+
style: The style of the component.
|
|
311
|
+
key: A unique key for the component.
|
|
312
|
+
id: The id for the component.
|
|
313
|
+
ref: The Var to pass as the ref to the component.
|
|
314
|
+
class_name: The class name for the component.
|
|
315
|
+
autofocus: Whether the component should take the focus once the page is loaded
|
|
316
|
+
custom_attrs: custom attribute
|
|
317
|
+
**props: The props of the component.
|
|
318
|
+
|
|
319
|
+
Returns:
|
|
320
|
+
The component.
|
|
321
|
+
"""
|
|
322
|
+
|
|
323
|
+
_KNOWN_REACT_ROUTER_LINK_PROPS = frozenset(ReactRouterLink.get_props())
|
|
21
324
|
|
|
22
325
|
class Link(RadixThemesComponent, A, MemoizationLeaf, MarkdownComponentMap):
|
|
23
326
|
def add_imports(self) -> ImportDict: ...
|
|
24
|
-
@overload
|
|
25
327
|
@classmethod
|
|
26
|
-
def create(
|
|
328
|
+
def create(
|
|
27
329
|
cls,
|
|
28
330
|
*children,
|
|
29
331
|
as_child: Var[bool] | bool | None = None,
|
|
@@ -337,9 +639,9 @@ class Link(RadixThemesComponent, A, MemoizationLeaf, MarkdownComponentMap):
|
|
|
337
639
|
autofocus: bool | None = None,
|
|
338
640
|
custom_attrs: dict[str, Var | Any] | None = None,
|
|
339
641
|
on_blur: EventType[()] | None = None,
|
|
340
|
-
on_click: EventType[()] | None = None,
|
|
341
|
-
on_context_menu: EventType[()] | None = None,
|
|
342
|
-
on_double_click: EventType[()] | None = None,
|
|
642
|
+
on_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
643
|
+
on_context_menu: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
644
|
+
on_double_click: EventType[()] | EventType[PointerEventInfo] | None = None,
|
|
343
645
|
on_focus: EventType[()] | None = None,
|
|
344
646
|
on_mount: EventType[()] | None = None,
|
|
345
647
|
on_mouse_down: EventType[()] | None = None,
|
|
@@ -350,6 +652,7 @@ class Link(RadixThemesComponent, A, MemoizationLeaf, MarkdownComponentMap):
|
|
|
350
652
|
on_mouse_over: EventType[()] | None = None,
|
|
351
653
|
on_mouse_up: EventType[()] | None = None,
|
|
352
654
|
on_scroll: EventType[()] | None = None,
|
|
655
|
+
on_scroll_end: EventType[()] | None = None,
|
|
353
656
|
on_unmount: EventType[()] | None = None,
|
|
354
657
|
**props,
|
|
355
658
|
) -> Link:
|