reflex 0.6.8a1__py3-none-any.whl → 0.7.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/custom_components/pyproject.toml.jinja2 +1 -1
- reflex/.templates/jinja/web/pages/_app.js.jinja2 +7 -7
- reflex/.templates/jinja/web/pages/utils.js.jinja2 +3 -3
- reflex/.templates/web/components/reflex/radix_themes_color_mode_provider.js +1 -4
- reflex/.templates/web/utils/state.js +65 -36
- reflex/__init__.py +4 -17
- reflex/__init__.pyi +1 -2
- reflex/app.py +286 -135
- reflex/app_mixins/lifespan.py +9 -9
- reflex/app_mixins/middleware.py +6 -6
- reflex/app_module_for_backend.py +3 -7
- reflex/base.py +7 -7
- reflex/compiler/compiler.py +8 -0
- reflex/compiler/utils.py +57 -18
- reflex/components/base/app_wrap.pyi +16 -16
- reflex/components/base/bare.py +1 -1
- reflex/components/base/body.pyi +16 -16
- reflex/components/base/document.pyi +76 -76
- reflex/components/base/error_boundary.py +2 -1
- reflex/components/base/error_boundary.pyi +19 -22
- reflex/components/base/fragment.pyi +16 -16
- reflex/components/base/head.pyi +31 -31
- reflex/components/base/link.pyi +31 -31
- reflex/components/base/meta.py +2 -2
- reflex/components/base/meta.pyi +61 -61
- reflex/components/base/script.pyi +19 -19
- reflex/components/base/strict_mode.py +10 -0
- reflex/components/base/strict_mode.pyi +57 -0
- reflex/components/component.py +38 -77
- reflex/components/core/banner.py +159 -4
- reflex/components/core/banner.pyi +162 -76
- reflex/components/core/breakpoints.py +3 -1
- reflex/components/core/client_side_routing.py +1 -1
- reflex/components/core/client_side_routing.pyi +32 -32
- reflex/components/core/clipboard.pyi +17 -20
- reflex/components/core/cond.py +9 -10
- reflex/components/core/debounce.py +1 -1
- reflex/components/core/debounce.pyi +17 -17
- reflex/components/core/foreach.py +28 -3
- reflex/components/core/html.py +1 -1
- reflex/components/core/html.pyi +16 -16
- reflex/components/core/match.py +5 -5
- reflex/components/core/sticky.py +134 -0
- reflex/components/core/sticky.pyi +449 -0
- reflex/components/core/upload.py +2 -2
- reflex/components/core/upload.pyi +80 -88
- reflex/components/datadisplay/code.py +5 -14
- reflex/components/datadisplay/code.pyi +31 -31
- reflex/components/datadisplay/dataeditor.py +7 -4
- reflex/components/datadisplay/dataeditor.pyi +40 -54
- reflex/components/datadisplay/logo.py +13 -8
- reflex/components/datadisplay/shiki_code_block.py +14 -9
- reflex/components/datadisplay/shiki_code_block.pyi +46 -46
- reflex/components/dynamic.py +22 -3
- reflex/components/el/constants/reflex.py +1 -1
- reflex/components/el/element.py +1 -1
- reflex/components/el/element.pyi +16 -16
- reflex/components/el/elements/base.pyi +16 -16
- reflex/components/el/elements/forms.py +4 -4
- reflex/components/el/elements/forms.pyi +224 -258
- reflex/components/el/elements/inline.pyi +421 -421
- reflex/components/el/elements/media.pyi +376 -376
- reflex/components/el/elements/metadata.pyi +91 -91
- reflex/components/el/elements/other.pyi +106 -106
- reflex/components/el/elements/scripts.pyi +46 -46
- reflex/components/el/elements/sectioning.pyi +226 -226
- reflex/components/el/elements/tables.pyi +151 -151
- reflex/components/el/elements/typography.pyi +226 -226
- reflex/components/gridjs/datatable.pyi +31 -31
- reflex/components/lucide/icon.py +46 -8
- reflex/components/lucide/icon.pyi +85 -31
- reflex/components/markdown/markdown.py +10 -8
- reflex/components/markdown/markdown.pyi +16 -16
- reflex/components/moment/moment.py +2 -2
- reflex/components/moment/moment.pyi +17 -19
- reflex/components/next/base.pyi +16 -16
- reflex/components/next/image.py +16 -4
- reflex/components/next/image.pyi +22 -20
- reflex/components/next/link.py +1 -1
- reflex/components/next/link.pyi +16 -16
- reflex/components/next/video.pyi +16 -16
- reflex/components/plotly/__init__.py +29 -2
- reflex/components/plotly/plotly.py +240 -5
- reflex/components/plotly/plotly.pyi +799 -44
- reflex/components/props.py +3 -3
- reflex/components/radix/__init__.pyi +1 -1
- reflex/components/radix/primitives/accordion.py +9 -5
- reflex/components/radix/primitives/accordion.pyi +110 -108
- reflex/components/radix/primitives/base.pyi +31 -31
- reflex/components/radix/primitives/drawer.py +5 -2
- reflex/components/radix/primitives/drawer.pyi +179 -187
- reflex/components/radix/primitives/form.pyi +160 -172
- reflex/components/radix/primitives/progress.py +1 -1
- reflex/components/radix/primitives/progress.pyi +76 -76
- reflex/components/radix/primitives/slider.py +1 -1
- reflex/components/radix/primitives/slider.pyi +78 -82
- reflex/components/radix/themes/base.pyi +121 -121
- reflex/components/radix/themes/color_mode.py +11 -9
- reflex/components/radix/themes/color_mode.pyi +47 -49
- reflex/components/radix/themes/components/alert_dialog.py +3 -0
- reflex/components/radix/themes/components/alert_dialog.pyi +110 -112
- reflex/components/radix/themes/components/aspect_ratio.pyi +16 -16
- reflex/components/radix/themes/components/avatar.pyi +16 -16
- reflex/components/radix/themes/components/badge.pyi +16 -16
- reflex/components/radix/themes/components/button.pyi +16 -16
- reflex/components/radix/themes/components/callout.pyi +76 -76
- reflex/components/radix/themes/components/card.py +1 -1
- reflex/components/radix/themes/components/card.pyi +17 -17
- reflex/components/radix/themes/components/checkbox.pyi +49 -55
- reflex/components/radix/themes/components/checkbox_cards.pyi +31 -31
- reflex/components/radix/themes/components/checkbox_group.pyi +31 -31
- reflex/components/radix/themes/components/context_menu.py +5 -0
- reflex/components/radix/themes/components/context_menu.pyi +149 -155
- reflex/components/radix/themes/components/data_list.pyi +61 -61
- reflex/components/radix/themes/components/dialog.py +3 -0
- reflex/components/radix/themes/components/dialog.pyi +113 -117
- reflex/components/radix/themes/components/dropdown_menu.py +5 -0
- reflex/components/radix/themes/components/dropdown_menu.pyi +133 -137
- reflex/components/radix/themes/components/hover_card.py +3 -0
- reflex/components/radix/themes/components/hover_card.pyi +63 -67
- reflex/components/radix/themes/components/icon_button.py +2 -2
- reflex/components/radix/themes/components/icon_button.pyi +17 -16
- reflex/components/radix/themes/components/inset.pyi +16 -16
- reflex/components/radix/themes/components/popover.py +3 -0
- reflex/components/radix/themes/components/popover.pyi +68 -70
- reflex/components/radix/themes/components/progress.pyi +16 -16
- reflex/components/radix/themes/components/radio.pyi +16 -16
- reflex/components/radix/themes/components/radio_cards.py +2 -0
- reflex/components/radix/themes/components/radio_cards.pyi +32 -34
- reflex/components/radix/themes/components/radio_group.py +1 -1
- reflex/components/radix/themes/components/radio_group.pyi +62 -64
- reflex/components/radix/themes/components/scroll_area.pyi +16 -16
- reflex/components/radix/themes/components/segmented_control.pyi +32 -35
- reflex/components/radix/themes/components/select.py +4 -0
- reflex/components/radix/themes/components/select.pyi +145 -157
- reflex/components/radix/themes/components/separator.pyi +16 -16
- reflex/components/radix/themes/components/skeleton.py +3 -0
- reflex/components/radix/themes/components/skeleton.pyi +16 -16
- reflex/components/radix/themes/components/slider.pyi +22 -28
- reflex/components/radix/themes/components/spinner.pyi +16 -16
- reflex/components/radix/themes/components/switch.pyi +17 -19
- reflex/components/radix/themes/components/table.pyi +106 -106
- reflex/components/radix/themes/components/tabs.py +3 -0
- reflex/components/radix/themes/components/tabs.pyi +78 -82
- reflex/components/radix/themes/components/text_area.py +12 -0
- reflex/components/radix/themes/components/text_area.pyi +21 -33
- reflex/components/radix/themes/components/text_field.py +1 -1
- reflex/components/radix/themes/components/text_field.pyi +52 -80
- reflex/components/radix/themes/components/tooltip.py +6 -1
- reflex/components/radix/themes/components/tooltip.pyi +20 -21
- reflex/components/radix/themes/layout/__init__.pyi +1 -1
- reflex/components/radix/themes/layout/base.pyi +16 -16
- reflex/components/radix/themes/layout/box.pyi +16 -16
- reflex/components/radix/themes/layout/center.pyi +16 -16
- reflex/components/radix/themes/layout/container.pyi +16 -16
- reflex/components/radix/themes/layout/flex.pyi +16 -16
- reflex/components/radix/themes/layout/grid.pyi +16 -16
- reflex/components/radix/themes/layout/list.py +2 -2
- reflex/components/radix/themes/layout/list.pyi +76 -76
- reflex/components/radix/themes/layout/section.pyi +16 -16
- reflex/components/radix/themes/layout/spacer.pyi +16 -16
- reflex/components/radix/themes/layout/stack.py +2 -2
- reflex/components/radix/themes/layout/stack.pyi +46 -46
- reflex/components/radix/themes/typography/blockquote.pyi +16 -16
- reflex/components/radix/themes/typography/code.pyi +16 -16
- reflex/components/radix/themes/typography/heading.pyi +16 -16
- reflex/components/radix/themes/typography/link.py +1 -1
- reflex/components/radix/themes/typography/link.pyi +16 -16
- reflex/components/radix/themes/typography/text.py +2 -2
- reflex/components/radix/themes/typography/text.pyi +106 -106
- reflex/components/react_player/audio.pyi +33 -39
- reflex/components/react_player/react_player.py +1 -1
- reflex/components/react_player/react_player.pyi +32 -38
- reflex/components/react_player/video.pyi +33 -39
- reflex/components/recharts/__init__.py +2 -0
- reflex/components/recharts/__init__.pyi +2 -0
- reflex/components/recharts/cartesian.pyi +282 -282
- reflex/components/recharts/charts.py +15 -15
- reflex/components/recharts/charts.pyi +164 -164
- reflex/components/recharts/general.py +19 -4
- reflex/components/recharts/general.pyi +132 -81
- reflex/components/recharts/polar.py +2 -2
- reflex/components/recharts/polar.pyi +55 -55
- reflex/components/recharts/recharts.py +4 -4
- reflex/components/recharts/recharts.pyi +31 -31
- reflex/components/sonner/toast.py +15 -13
- reflex/components/sonner/toast.pyi +22 -22
- reflex/components/suneditor/editor.py +6 -4
- reflex/components/suneditor/editor.pyi +26 -40
- reflex/components/tags/iter_tag.py +3 -3
- reflex/components/tags/tag.py +25 -3
- reflex/config.py +48 -20
- reflex/constants/__init__.py +1 -0
- reflex/constants/base.py +4 -1
- reflex/constants/compiler.py +5 -2
- reflex/constants/config.py +8 -1
- reflex/constants/installer.py +9 -9
- reflex/constants/style.py +1 -1
- reflex/custom_components/custom_components.py +18 -10
- reflex/event.py +228 -233
- reflex/experimental/__init__.py +19 -11
- reflex/experimental/client_state.py +53 -28
- reflex/experimental/hooks.py +5 -5
- reflex/experimental/layout.py +8 -5
- reflex/experimental/layout.pyi +79 -83
- reflex/experimental/misc.py +3 -3
- reflex/istate/wrappers.py +1 -1
- reflex/middleware/hydrate_middleware.py +2 -2
- reflex/model.py +11 -6
- reflex/page.py +5 -5
- reflex/reflex.py +104 -26
- reflex/route.py +1 -1
- reflex/state.py +358 -401
- reflex/style.py +27 -3
- reflex/testing.py +34 -39
- reflex/utils/build.py +6 -2
- reflex/utils/codespaces.py +1 -4
- reflex/utils/compat.py +6 -5
- reflex/utils/console.py +71 -21
- reflex/utils/exceptions.py +89 -26
- reflex/utils/exec.py +69 -74
- reflex/utils/export.py +6 -1
- reflex/utils/format.py +8 -40
- reflex/utils/imports.py +5 -2
- reflex/utils/lazy_loader.py +7 -1
- reflex/utils/path_ops.py +74 -14
- reflex/utils/prerequisites.py +345 -68
- reflex/utils/processes.py +45 -32
- reflex/utils/pyi_generator.py +39 -33
- reflex/utils/registry.py +4 -4
- reflex/utils/serializers.py +1 -1
- reflex/utils/telemetry.py +5 -4
- reflex/utils/types.py +42 -18
- reflex/vars/base.py +695 -330
- reflex/vars/datetime.py +6 -7
- reflex/vars/dep_tracking.py +344 -0
- reflex/vars/function.py +11 -5
- reflex/vars/number.py +31 -43
- reflex/vars/object.py +74 -64
- reflex/vars/sequence.py +79 -67
- {reflex-0.6.8a1.dist-info → reflex-0.7.0.dist-info}/METADATA +7 -10
- reflex-0.7.0.dist-info/RECORD +401 -0
- {reflex-0.6.8a1.dist-info → reflex-0.7.0.dist-info}/WHEEL +1 -1
- reflex/experimental/assets.py +0 -37
- reflex/proxy.py +0 -119
- reflex-0.6.8a1.dist-info/RECORD +0 -398
- {reflex-0.6.8a1.dist-info → reflex-0.7.0.dist-info}/LICENSE +0 -0
- {reflex-0.6.8a1.dist-info → reflex-0.7.0.dist-info}/entry_points.txt +0 -0
reflex/components/props.py
CHANGED
|
@@ -48,7 +48,7 @@ class PropsBase(Base):
|
|
|
48
48
|
class NoExtrasAllowedProps(Base):
|
|
49
49
|
"""A class that holds props to be passed or applied to a component with no extra props allowed."""
|
|
50
50
|
|
|
51
|
-
def __init__(self, component_name=None, **kwargs):
|
|
51
|
+
def __init__(self, component_name: str | None = None, **kwargs):
|
|
52
52
|
"""Initialize the props.
|
|
53
53
|
|
|
54
54
|
Args:
|
|
@@ -62,13 +62,13 @@ class NoExtrasAllowedProps(Base):
|
|
|
62
62
|
try:
|
|
63
63
|
super().__init__(**kwargs)
|
|
64
64
|
except ValidationError as e:
|
|
65
|
-
invalid_fields = ", ".join([error["loc"][0] for error in e.errors()]) #
|
|
65
|
+
invalid_fields = ", ".join([error["loc"][0] for error in e.errors()]) # pyright: ignore [reportCallIssue, reportArgumentType]
|
|
66
66
|
supported_props_str = ", ".join(f'"{field}"' for field in self.get_fields())
|
|
67
67
|
raise InvalidPropValueError(
|
|
68
68
|
f"Invalid prop(s) {invalid_fields} for {component_name!r}. Supported props are {supported_props_str}"
|
|
69
69
|
) from None
|
|
70
70
|
|
|
71
|
-
class Config:
|
|
71
|
+
class Config: # pyright: ignore [reportIncompatibleVariableOverride]
|
|
72
72
|
"""Pydantic config."""
|
|
73
73
|
|
|
74
74
|
arbitrary_types_allowed = True
|
|
@@ -55,7 +55,7 @@ from .themes.layout.container import container as container
|
|
|
55
55
|
from .themes.layout.flex import flex as flex
|
|
56
56
|
from .themes.layout.grid import grid as grid
|
|
57
57
|
from .themes.layout.list import list_item as list_item
|
|
58
|
-
from .themes.layout.list import list_ns as list # noqa
|
|
58
|
+
from .themes.layout.list import list_ns as list # noqa: F401
|
|
59
59
|
from .themes.layout.list import ordered_list as ordered_list
|
|
60
60
|
from .themes.layout.list import unordered_list as unordered_list
|
|
61
61
|
from .themes.layout.section import section as section
|
|
@@ -10,6 +10,7 @@ from reflex.components.core.cond import cond
|
|
|
10
10
|
from reflex.components.lucide.icon import Icon
|
|
11
11
|
from reflex.components.radix.primitives.base import RadixPrimitiveComponent
|
|
12
12
|
from reflex.components.radix.themes.base import LiteralAccentColor, LiteralRadius
|
|
13
|
+
from reflex.constants.compiler import MemoizationMode
|
|
13
14
|
from reflex.event import EventHandler
|
|
14
15
|
from reflex.style import Style
|
|
15
16
|
from reflex.vars import get_uuid_string_var
|
|
@@ -196,8 +197,9 @@ class AccordionItem(AccordionComponent):
|
|
|
196
197
|
|
|
197
198
|
# The header of the accordion item.
|
|
198
199
|
header: Var[Union[Component, str]]
|
|
200
|
+
|
|
199
201
|
# The content of the accordion item.
|
|
200
|
-
content: Var[Union[Component, str]] = Var.create(None)
|
|
202
|
+
content: Var[Union[Component, str, None]] = Var.create(None)
|
|
201
203
|
|
|
202
204
|
_valid_children: List[str] = [
|
|
203
205
|
"AccordionHeader",
|
|
@@ -341,6 +343,8 @@ class AccordionTrigger(AccordionComponent):
|
|
|
341
343
|
|
|
342
344
|
alias = "RadixAccordionTrigger"
|
|
343
345
|
|
|
346
|
+
_memoization_mode = MemoizationMode(recursive=False)
|
|
347
|
+
|
|
344
348
|
@classmethod
|
|
345
349
|
def create(cls, *children, **props) -> Component:
|
|
346
350
|
"""Create the Accordion trigger component.
|
|
@@ -485,11 +489,11 @@ to {
|
|
|
485
489
|
Returns:
|
|
486
490
|
The style of the component.
|
|
487
491
|
"""
|
|
488
|
-
|
|
492
|
+
slide_down = LiteralVar.create(
|
|
489
493
|
"${slideDown} var(--animation-duration) var(--animation-easing)",
|
|
490
494
|
)
|
|
491
495
|
|
|
492
|
-
|
|
496
|
+
slide_up = LiteralVar.create(
|
|
493
497
|
"${slideUp} var(--animation-duration) var(--animation-easing)",
|
|
494
498
|
)
|
|
495
499
|
|
|
@@ -503,8 +507,8 @@ to {
|
|
|
503
507
|
"display": "block",
|
|
504
508
|
"height": "var(--space-3)",
|
|
505
509
|
},
|
|
506
|
-
"&[data-state='open']": {"animation":
|
|
507
|
-
"&[data-state='closed']": {"animation":
|
|
510
|
+
"&[data-state='open']": {"animation": slide_down},
|
|
511
|
+
"&[data-state='closed']": {"animation": slide_up},
|
|
508
512
|
_inherited_variant_selector("classic"): {
|
|
509
513
|
"color": "var(--accent-contrast)",
|
|
510
514
|
},
|
|
@@ -8,7 +8,7 @@ from typing import Any, Dict, List, Literal, Optional, Tuple, Union, overload
|
|
|
8
8
|
from reflex.components.component import Component, ComponentNamespace
|
|
9
9
|
from reflex.components.lucide.icon import Icon
|
|
10
10
|
from reflex.components.radix.primitives.base import RadixPrimitiveComponent
|
|
11
|
-
from reflex.event import
|
|
11
|
+
from reflex.event import EventType
|
|
12
12
|
from reflex.style import Style
|
|
13
13
|
from reflex.vars.base import Var
|
|
14
14
|
|
|
@@ -101,21 +101,21 @@ class AccordionComponent(RadixPrimitiveComponent):
|
|
|
101
101
|
class_name: Optional[Any] = None,
|
|
102
102
|
autofocus: Optional[bool] = None,
|
|
103
103
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
104
|
-
on_blur: Optional[EventType[
|
|
105
|
-
on_click: Optional[EventType[
|
|
106
|
-
on_context_menu: Optional[EventType[
|
|
107
|
-
on_double_click: Optional[EventType[
|
|
108
|
-
on_focus: Optional[EventType[
|
|
109
|
-
on_mount: Optional[EventType[
|
|
110
|
-
on_mouse_down: Optional[EventType[
|
|
111
|
-
on_mouse_enter: Optional[EventType[
|
|
112
|
-
on_mouse_leave: Optional[EventType[
|
|
113
|
-
on_mouse_move: Optional[EventType[
|
|
114
|
-
on_mouse_out: Optional[EventType[
|
|
115
|
-
on_mouse_over: Optional[EventType[
|
|
116
|
-
on_mouse_up: Optional[EventType[
|
|
117
|
-
on_scroll: Optional[EventType[
|
|
118
|
-
on_unmount: Optional[EventType[
|
|
104
|
+
on_blur: Optional[EventType[()]] = None,
|
|
105
|
+
on_click: Optional[EventType[()]] = None,
|
|
106
|
+
on_context_menu: Optional[EventType[()]] = None,
|
|
107
|
+
on_double_click: Optional[EventType[()]] = None,
|
|
108
|
+
on_focus: Optional[EventType[()]] = None,
|
|
109
|
+
on_mount: Optional[EventType[()]] = None,
|
|
110
|
+
on_mouse_down: Optional[EventType[()]] = None,
|
|
111
|
+
on_mouse_enter: Optional[EventType[()]] = None,
|
|
112
|
+
on_mouse_leave: Optional[EventType[()]] = None,
|
|
113
|
+
on_mouse_move: Optional[EventType[()]] = None,
|
|
114
|
+
on_mouse_out: Optional[EventType[()]] = None,
|
|
115
|
+
on_mouse_over: Optional[EventType[()]] = None,
|
|
116
|
+
on_mouse_up: Optional[EventType[()]] = None,
|
|
117
|
+
on_scroll: Optional[EventType[()]] = None,
|
|
118
|
+
on_unmount: Optional[EventType[()]] = None,
|
|
119
119
|
**props,
|
|
120
120
|
) -> "AccordionComponent":
|
|
121
121
|
"""Create the component.
|
|
@@ -247,23 +247,23 @@ class AccordionRoot(AccordionComponent):
|
|
|
247
247
|
class_name: Optional[Any] = None,
|
|
248
248
|
autofocus: Optional[bool] = None,
|
|
249
249
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
250
|
-
on_blur: Optional[EventType[
|
|
251
|
-
on_click: Optional[EventType[
|
|
252
|
-
on_context_menu: Optional[EventType[
|
|
253
|
-
on_double_click: Optional[EventType[
|
|
254
|
-
on_focus: Optional[EventType[
|
|
255
|
-
on_mount: Optional[EventType[
|
|
256
|
-
on_mouse_down: Optional[EventType[
|
|
257
|
-
on_mouse_enter: Optional[EventType[
|
|
258
|
-
on_mouse_leave: Optional[EventType[
|
|
259
|
-
on_mouse_move: Optional[EventType[
|
|
260
|
-
on_mouse_out: Optional[EventType[
|
|
261
|
-
on_mouse_over: Optional[EventType[
|
|
262
|
-
on_mouse_up: Optional[EventType[
|
|
263
|
-
on_scroll: Optional[EventType[
|
|
264
|
-
on_unmount: Optional[EventType[
|
|
250
|
+
on_blur: Optional[EventType[()]] = None,
|
|
251
|
+
on_click: Optional[EventType[()]] = None,
|
|
252
|
+
on_context_menu: Optional[EventType[()]] = None,
|
|
253
|
+
on_double_click: Optional[EventType[()]] = None,
|
|
254
|
+
on_focus: Optional[EventType[()]] = None,
|
|
255
|
+
on_mount: Optional[EventType[()]] = None,
|
|
256
|
+
on_mouse_down: Optional[EventType[()]] = None,
|
|
257
|
+
on_mouse_enter: Optional[EventType[()]] = None,
|
|
258
|
+
on_mouse_leave: Optional[EventType[()]] = None,
|
|
259
|
+
on_mouse_move: Optional[EventType[()]] = None,
|
|
260
|
+
on_mouse_out: Optional[EventType[()]] = None,
|
|
261
|
+
on_mouse_over: Optional[EventType[()]] = None,
|
|
262
|
+
on_mouse_up: Optional[EventType[()]] = None,
|
|
263
|
+
on_scroll: Optional[EventType[()]] = None,
|
|
264
|
+
on_unmount: Optional[EventType[()]] = None,
|
|
265
265
|
on_value_change: Optional[
|
|
266
|
-
Union[EventType[
|
|
266
|
+
Union[EventType[()], EventType[str | List[str]]]
|
|
267
267
|
] = None,
|
|
268
268
|
**props,
|
|
269
269
|
) -> "AccordionRoot":
|
|
@@ -308,7 +308,9 @@ class AccordionItem(AccordionComponent):
|
|
|
308
308
|
value: Optional[Union[Var[str], str]] = None,
|
|
309
309
|
disabled: Optional[Union[Var[bool], bool]] = None,
|
|
310
310
|
header: Optional[Union[Component, Var[Union[Component, str]], str]] = None,
|
|
311
|
-
content: Optional[
|
|
311
|
+
content: Optional[
|
|
312
|
+
Union[Component, Var[Optional[Union[Component, str]]], str]
|
|
313
|
+
] = None,
|
|
312
314
|
color_scheme: Optional[
|
|
313
315
|
Union[
|
|
314
316
|
Literal[
|
|
@@ -384,21 +386,21 @@ class AccordionItem(AccordionComponent):
|
|
|
384
386
|
class_name: Optional[Any] = None,
|
|
385
387
|
autofocus: Optional[bool] = None,
|
|
386
388
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
387
|
-
on_blur: Optional[EventType[
|
|
388
|
-
on_click: Optional[EventType[
|
|
389
|
-
on_context_menu: Optional[EventType[
|
|
390
|
-
on_double_click: Optional[EventType[
|
|
391
|
-
on_focus: Optional[EventType[
|
|
392
|
-
on_mount: Optional[EventType[
|
|
393
|
-
on_mouse_down: Optional[EventType[
|
|
394
|
-
on_mouse_enter: Optional[EventType[
|
|
395
|
-
on_mouse_leave: Optional[EventType[
|
|
396
|
-
on_mouse_move: Optional[EventType[
|
|
397
|
-
on_mouse_out: Optional[EventType[
|
|
398
|
-
on_mouse_over: Optional[EventType[
|
|
399
|
-
on_mouse_up: Optional[EventType[
|
|
400
|
-
on_scroll: Optional[EventType[
|
|
401
|
-
on_unmount: Optional[EventType[
|
|
389
|
+
on_blur: Optional[EventType[()]] = None,
|
|
390
|
+
on_click: Optional[EventType[()]] = None,
|
|
391
|
+
on_context_menu: Optional[EventType[()]] = None,
|
|
392
|
+
on_double_click: Optional[EventType[()]] = None,
|
|
393
|
+
on_focus: Optional[EventType[()]] = None,
|
|
394
|
+
on_mount: Optional[EventType[()]] = None,
|
|
395
|
+
on_mouse_down: Optional[EventType[()]] = None,
|
|
396
|
+
on_mouse_enter: Optional[EventType[()]] = None,
|
|
397
|
+
on_mouse_leave: Optional[EventType[()]] = None,
|
|
398
|
+
on_mouse_move: Optional[EventType[()]] = None,
|
|
399
|
+
on_mouse_out: Optional[EventType[()]] = None,
|
|
400
|
+
on_mouse_over: Optional[EventType[()]] = None,
|
|
401
|
+
on_mouse_up: Optional[EventType[()]] = None,
|
|
402
|
+
on_scroll: Optional[EventType[()]] = None,
|
|
403
|
+
on_unmount: Optional[EventType[()]] = None,
|
|
402
404
|
**props,
|
|
403
405
|
) -> "AccordionItem":
|
|
404
406
|
"""Create an accordion item.
|
|
@@ -508,21 +510,21 @@ class AccordionHeader(AccordionComponent):
|
|
|
508
510
|
class_name: Optional[Any] = None,
|
|
509
511
|
autofocus: Optional[bool] = None,
|
|
510
512
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
511
|
-
on_blur: Optional[EventType[
|
|
512
|
-
on_click: Optional[EventType[
|
|
513
|
-
on_context_menu: Optional[EventType[
|
|
514
|
-
on_double_click: Optional[EventType[
|
|
515
|
-
on_focus: Optional[EventType[
|
|
516
|
-
on_mount: Optional[EventType[
|
|
517
|
-
on_mouse_down: Optional[EventType[
|
|
518
|
-
on_mouse_enter: Optional[EventType[
|
|
519
|
-
on_mouse_leave: Optional[EventType[
|
|
520
|
-
on_mouse_move: Optional[EventType[
|
|
521
|
-
on_mouse_out: Optional[EventType[
|
|
522
|
-
on_mouse_over: Optional[EventType[
|
|
523
|
-
on_mouse_up: Optional[EventType[
|
|
524
|
-
on_scroll: Optional[EventType[
|
|
525
|
-
on_unmount: Optional[EventType[
|
|
513
|
+
on_blur: Optional[EventType[()]] = None,
|
|
514
|
+
on_click: Optional[EventType[()]] = None,
|
|
515
|
+
on_context_menu: Optional[EventType[()]] = None,
|
|
516
|
+
on_double_click: Optional[EventType[()]] = None,
|
|
517
|
+
on_focus: Optional[EventType[()]] = None,
|
|
518
|
+
on_mount: Optional[EventType[()]] = None,
|
|
519
|
+
on_mouse_down: Optional[EventType[()]] = None,
|
|
520
|
+
on_mouse_enter: Optional[EventType[()]] = None,
|
|
521
|
+
on_mouse_leave: Optional[EventType[()]] = None,
|
|
522
|
+
on_mouse_move: Optional[EventType[()]] = None,
|
|
523
|
+
on_mouse_out: Optional[EventType[()]] = None,
|
|
524
|
+
on_mouse_over: Optional[EventType[()]] = None,
|
|
525
|
+
on_mouse_up: Optional[EventType[()]] = None,
|
|
526
|
+
on_scroll: Optional[EventType[()]] = None,
|
|
527
|
+
on_unmount: Optional[EventType[()]] = None,
|
|
526
528
|
**props,
|
|
527
529
|
) -> "AccordionHeader":
|
|
528
530
|
"""Create the Accordion header component.
|
|
@@ -628,21 +630,21 @@ class AccordionTrigger(AccordionComponent):
|
|
|
628
630
|
class_name: Optional[Any] = None,
|
|
629
631
|
autofocus: Optional[bool] = None,
|
|
630
632
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
631
|
-
on_blur: Optional[EventType[
|
|
632
|
-
on_click: Optional[EventType[
|
|
633
|
-
on_context_menu: Optional[EventType[
|
|
634
|
-
on_double_click: Optional[EventType[
|
|
635
|
-
on_focus: Optional[EventType[
|
|
636
|
-
on_mount: Optional[EventType[
|
|
637
|
-
on_mouse_down: Optional[EventType[
|
|
638
|
-
on_mouse_enter: Optional[EventType[
|
|
639
|
-
on_mouse_leave: Optional[EventType[
|
|
640
|
-
on_mouse_move: Optional[EventType[
|
|
641
|
-
on_mouse_out: Optional[EventType[
|
|
642
|
-
on_mouse_over: Optional[EventType[
|
|
643
|
-
on_mouse_up: Optional[EventType[
|
|
644
|
-
on_scroll: Optional[EventType[
|
|
645
|
-
on_unmount: Optional[EventType[
|
|
633
|
+
on_blur: Optional[EventType[()]] = None,
|
|
634
|
+
on_click: Optional[EventType[()]] = None,
|
|
635
|
+
on_context_menu: Optional[EventType[()]] = None,
|
|
636
|
+
on_double_click: Optional[EventType[()]] = None,
|
|
637
|
+
on_focus: Optional[EventType[()]] = None,
|
|
638
|
+
on_mount: Optional[EventType[()]] = None,
|
|
639
|
+
on_mouse_down: Optional[EventType[()]] = None,
|
|
640
|
+
on_mouse_enter: Optional[EventType[()]] = None,
|
|
641
|
+
on_mouse_leave: Optional[EventType[()]] = None,
|
|
642
|
+
on_mouse_move: Optional[EventType[()]] = None,
|
|
643
|
+
on_mouse_out: Optional[EventType[()]] = None,
|
|
644
|
+
on_mouse_over: Optional[EventType[()]] = None,
|
|
645
|
+
on_mouse_up: Optional[EventType[()]] = None,
|
|
646
|
+
on_scroll: Optional[EventType[()]] = None,
|
|
647
|
+
on_unmount: Optional[EventType[()]] = None,
|
|
646
648
|
**props,
|
|
647
649
|
) -> "AccordionTrigger":
|
|
648
650
|
"""Create the Accordion trigger component.
|
|
@@ -680,21 +682,21 @@ class AccordionIcon(Icon):
|
|
|
680
682
|
class_name: Optional[Any] = None,
|
|
681
683
|
autofocus: Optional[bool] = None,
|
|
682
684
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
683
|
-
on_blur: Optional[EventType[
|
|
684
|
-
on_click: Optional[EventType[
|
|
685
|
-
on_context_menu: Optional[EventType[
|
|
686
|
-
on_double_click: Optional[EventType[
|
|
687
|
-
on_focus: Optional[EventType[
|
|
688
|
-
on_mount: Optional[EventType[
|
|
689
|
-
on_mouse_down: Optional[EventType[
|
|
690
|
-
on_mouse_enter: Optional[EventType[
|
|
691
|
-
on_mouse_leave: Optional[EventType[
|
|
692
|
-
on_mouse_move: Optional[EventType[
|
|
693
|
-
on_mouse_out: Optional[EventType[
|
|
694
|
-
on_mouse_over: Optional[EventType[
|
|
695
|
-
on_mouse_up: Optional[EventType[
|
|
696
|
-
on_scroll: Optional[EventType[
|
|
697
|
-
on_unmount: Optional[EventType[
|
|
685
|
+
on_blur: Optional[EventType[()]] = None,
|
|
686
|
+
on_click: Optional[EventType[()]] = None,
|
|
687
|
+
on_context_menu: Optional[EventType[()]] = None,
|
|
688
|
+
on_double_click: Optional[EventType[()]] = None,
|
|
689
|
+
on_focus: Optional[EventType[()]] = None,
|
|
690
|
+
on_mount: Optional[EventType[()]] = None,
|
|
691
|
+
on_mouse_down: Optional[EventType[()]] = None,
|
|
692
|
+
on_mouse_enter: Optional[EventType[()]] = None,
|
|
693
|
+
on_mouse_leave: Optional[EventType[()]] = None,
|
|
694
|
+
on_mouse_move: Optional[EventType[()]] = None,
|
|
695
|
+
on_mouse_out: Optional[EventType[()]] = None,
|
|
696
|
+
on_mouse_over: Optional[EventType[()]] = None,
|
|
697
|
+
on_mouse_up: Optional[EventType[()]] = None,
|
|
698
|
+
on_scroll: Optional[EventType[()]] = None,
|
|
699
|
+
on_unmount: Optional[EventType[()]] = None,
|
|
698
700
|
**props,
|
|
699
701
|
) -> "AccordionIcon":
|
|
700
702
|
"""Create the Accordion icon component.
|
|
@@ -797,21 +799,21 @@ class AccordionContent(AccordionComponent):
|
|
|
797
799
|
class_name: Optional[Any] = None,
|
|
798
800
|
autofocus: Optional[bool] = None,
|
|
799
801
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
800
|
-
on_blur: Optional[EventType[
|
|
801
|
-
on_click: Optional[EventType[
|
|
802
|
-
on_context_menu: Optional[EventType[
|
|
803
|
-
on_double_click: Optional[EventType[
|
|
804
|
-
on_focus: Optional[EventType[
|
|
805
|
-
on_mount: Optional[EventType[
|
|
806
|
-
on_mouse_down: Optional[EventType[
|
|
807
|
-
on_mouse_enter: Optional[EventType[
|
|
808
|
-
on_mouse_leave: Optional[EventType[
|
|
809
|
-
on_mouse_move: Optional[EventType[
|
|
810
|
-
on_mouse_out: Optional[EventType[
|
|
811
|
-
on_mouse_over: Optional[EventType[
|
|
812
|
-
on_mouse_up: Optional[EventType[
|
|
813
|
-
on_scroll: Optional[EventType[
|
|
814
|
-
on_unmount: Optional[EventType[
|
|
802
|
+
on_blur: Optional[EventType[()]] = None,
|
|
803
|
+
on_click: Optional[EventType[()]] = None,
|
|
804
|
+
on_context_menu: Optional[EventType[()]] = None,
|
|
805
|
+
on_double_click: Optional[EventType[()]] = None,
|
|
806
|
+
on_focus: Optional[EventType[()]] = None,
|
|
807
|
+
on_mount: Optional[EventType[()]] = None,
|
|
808
|
+
on_mouse_down: Optional[EventType[()]] = None,
|
|
809
|
+
on_mouse_enter: Optional[EventType[()]] = None,
|
|
810
|
+
on_mouse_leave: Optional[EventType[()]] = None,
|
|
811
|
+
on_mouse_move: Optional[EventType[()]] = None,
|
|
812
|
+
on_mouse_out: Optional[EventType[()]] = None,
|
|
813
|
+
on_mouse_over: Optional[EventType[()]] = None,
|
|
814
|
+
on_mouse_up: Optional[EventType[()]] = None,
|
|
815
|
+
on_scroll: Optional[EventType[()]] = None,
|
|
816
|
+
on_unmount: Optional[EventType[()]] = None,
|
|
815
817
|
**props,
|
|
816
818
|
) -> "AccordionContent":
|
|
817
819
|
"""Create the Accordion content component.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
from typing import Any, Dict, Optional, Union, overload
|
|
7
7
|
|
|
8
8
|
from reflex.components.component import Component
|
|
9
|
-
from reflex.event import
|
|
9
|
+
from reflex.event import EventType
|
|
10
10
|
from reflex.style import Style
|
|
11
11
|
from reflex.vars.base import Var
|
|
12
12
|
|
|
@@ -23,21 +23,21 @@ class RadixPrimitiveComponent(Component):
|
|
|
23
23
|
class_name: Optional[Any] = None,
|
|
24
24
|
autofocus: Optional[bool] = None,
|
|
25
25
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
26
|
-
on_blur: Optional[EventType[
|
|
27
|
-
on_click: Optional[EventType[
|
|
28
|
-
on_context_menu: Optional[EventType[
|
|
29
|
-
on_double_click: Optional[EventType[
|
|
30
|
-
on_focus: Optional[EventType[
|
|
31
|
-
on_mount: Optional[EventType[
|
|
32
|
-
on_mouse_down: Optional[EventType[
|
|
33
|
-
on_mouse_enter: Optional[EventType[
|
|
34
|
-
on_mouse_leave: Optional[EventType[
|
|
35
|
-
on_mouse_move: Optional[EventType[
|
|
36
|
-
on_mouse_out: Optional[EventType[
|
|
37
|
-
on_mouse_over: Optional[EventType[
|
|
38
|
-
on_mouse_up: Optional[EventType[
|
|
39
|
-
on_scroll: Optional[EventType[
|
|
40
|
-
on_unmount: Optional[EventType[
|
|
26
|
+
on_blur: Optional[EventType[()]] = None,
|
|
27
|
+
on_click: Optional[EventType[()]] = None,
|
|
28
|
+
on_context_menu: Optional[EventType[()]] = None,
|
|
29
|
+
on_double_click: Optional[EventType[()]] = None,
|
|
30
|
+
on_focus: Optional[EventType[()]] = None,
|
|
31
|
+
on_mount: Optional[EventType[()]] = None,
|
|
32
|
+
on_mouse_down: Optional[EventType[()]] = None,
|
|
33
|
+
on_mouse_enter: Optional[EventType[()]] = None,
|
|
34
|
+
on_mouse_leave: Optional[EventType[()]] = None,
|
|
35
|
+
on_mouse_move: Optional[EventType[()]] = None,
|
|
36
|
+
on_mouse_out: Optional[EventType[()]] = None,
|
|
37
|
+
on_mouse_over: Optional[EventType[()]] = None,
|
|
38
|
+
on_mouse_up: Optional[EventType[()]] = None,
|
|
39
|
+
on_scroll: Optional[EventType[()]] = None,
|
|
40
|
+
on_unmount: Optional[EventType[()]] = None,
|
|
41
41
|
**props,
|
|
42
42
|
) -> "RadixPrimitiveComponent":
|
|
43
43
|
"""Create the component.
|
|
@@ -71,21 +71,21 @@ class RadixPrimitiveComponentWithClassName(RadixPrimitiveComponent):
|
|
|
71
71
|
class_name: Optional[Any] = None,
|
|
72
72
|
autofocus: Optional[bool] = None,
|
|
73
73
|
custom_attrs: Optional[Dict[str, Union[Var, Any]]] = None,
|
|
74
|
-
on_blur: Optional[EventType[
|
|
75
|
-
on_click: Optional[EventType[
|
|
76
|
-
on_context_menu: Optional[EventType[
|
|
77
|
-
on_double_click: Optional[EventType[
|
|
78
|
-
on_focus: Optional[EventType[
|
|
79
|
-
on_mount: Optional[EventType[
|
|
80
|
-
on_mouse_down: Optional[EventType[
|
|
81
|
-
on_mouse_enter: Optional[EventType[
|
|
82
|
-
on_mouse_leave: Optional[EventType[
|
|
83
|
-
on_mouse_move: Optional[EventType[
|
|
84
|
-
on_mouse_out: Optional[EventType[
|
|
85
|
-
on_mouse_over: Optional[EventType[
|
|
86
|
-
on_mouse_up: Optional[EventType[
|
|
87
|
-
on_scroll: Optional[EventType[
|
|
88
|
-
on_unmount: Optional[EventType[
|
|
74
|
+
on_blur: Optional[EventType[()]] = None,
|
|
75
|
+
on_click: Optional[EventType[()]] = None,
|
|
76
|
+
on_context_menu: Optional[EventType[()]] = None,
|
|
77
|
+
on_double_click: Optional[EventType[()]] = None,
|
|
78
|
+
on_focus: Optional[EventType[()]] = None,
|
|
79
|
+
on_mount: Optional[EventType[()]] = None,
|
|
80
|
+
on_mouse_down: Optional[EventType[()]] = None,
|
|
81
|
+
on_mouse_enter: Optional[EventType[()]] = None,
|
|
82
|
+
on_mouse_leave: Optional[EventType[()]] = None,
|
|
83
|
+
on_mouse_move: Optional[EventType[()]] = None,
|
|
84
|
+
on_mouse_out: Optional[EventType[()]] = None,
|
|
85
|
+
on_mouse_over: Optional[EventType[()]] = None,
|
|
86
|
+
on_mouse_up: Optional[EventType[()]] = None,
|
|
87
|
+
on_scroll: Optional[EventType[()]] = None,
|
|
88
|
+
on_unmount: Optional[EventType[()]] = None,
|
|
89
89
|
**props,
|
|
90
90
|
) -> "RadixPrimitiveComponentWithClassName":
|
|
91
91
|
"""Create the component.
|
|
@@ -10,6 +10,7 @@ from reflex.components.component import Component, ComponentNamespace
|
|
|
10
10
|
from reflex.components.radix.primitives.base import RadixPrimitiveComponent
|
|
11
11
|
from reflex.components.radix.themes.base import Theme
|
|
12
12
|
from reflex.components.radix.themes.layout.flex import Flex
|
|
13
|
+
from reflex.constants.compiler import MemoizationMode
|
|
13
14
|
from reflex.event import EventHandler, no_args_event_spec, passthrough_event_spec
|
|
14
15
|
from reflex.vars.base import Var
|
|
15
16
|
|
|
@@ -66,7 +67,7 @@ class DrawerRoot(DrawerComponent):
|
|
|
66
67
|
scroll_lock_timeout: Var[int]
|
|
67
68
|
|
|
68
69
|
# When `True`, it prevents scroll restoration. Defaults to `True`.
|
|
69
|
-
|
|
70
|
+
prevent_scroll_restoration: Var[bool]
|
|
70
71
|
|
|
71
72
|
# Enable background scaling, it requires container element with `vaul-drawer-wrapper` attribute to scale its background.
|
|
72
73
|
should_scale_background: Var[bool]
|
|
@@ -83,7 +84,9 @@ class DrawerTrigger(DrawerComponent):
|
|
|
83
84
|
alias = "Vaul" + tag
|
|
84
85
|
|
|
85
86
|
# Defaults to true, if the first child acts as the trigger.
|
|
86
|
-
as_child: Var[bool] = True
|
|
87
|
+
as_child: Var[bool] = Var.create(True)
|
|
88
|
+
|
|
89
|
+
_memoization_mode = MemoizationMode(recursive=False)
|
|
87
90
|
|
|
88
91
|
@classmethod
|
|
89
92
|
def create(cls, *children: Any, **props: Any) -> Component:
|