|
@@ -7,6 +7,7 @@ from typing import Any, Dict, Literal, Optional, Union, overload
|
|
|
from reflex.vars import Var, BaseVar, ComputedVar
|
|
|
from reflex.event import EventChain, EventHandler, EventSpec
|
|
|
from reflex.style import Style
|
|
|
+from types import SimpleNamespace
|
|
|
from typing import Any, Dict, List, Literal, Optional, Union
|
|
|
from reflex.components.radix.primitives.base import RadixPrimitiveComponentWithClassName
|
|
|
from reflex.constants import EventTriggers
|
|
@@ -786,11 +787,118 @@ class DrawerDescription(DrawerComponent):
|
|
|
"""
|
|
|
...
|
|
|
|
|
|
-drawer_root = DrawerRoot.create
|
|
|
-drawer_trigger = DrawerTrigger.create
|
|
|
-drawer_portal = DrawerPortal.create
|
|
|
-drawer_content = DrawerContent.create
|
|
|
-drawer_overlay = DrawerOverlay.create
|
|
|
-drawer_close = DrawerClose.create
|
|
|
-drawer_title = DrawerTitle.create
|
|
|
-drawer_description = DrawerDescription.create
|
|
|
+class Drawer(SimpleNamespace):
|
|
|
+ root = staticmethod(DrawerRoot.create)
|
|
|
+ trigger = staticmethod(DrawerTrigger.create)
|
|
|
+ portal = staticmethod(DrawerPortal.create)
|
|
|
+ content = staticmethod(DrawerContent.create)
|
|
|
+ overlay = staticmethod(DrawerOverlay.create)
|
|
|
+ close = staticmethod(DrawerClose.create)
|
|
|
+ title = staticmethod(DrawerTitle.create)
|
|
|
+ description = staticmethod(DrawerDescription.create)
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def __call__(
|
|
|
+ *children,
|
|
|
+ open: Optional[Union[Var[bool], bool]] = None,
|
|
|
+ should_scale_background: Optional[Union[Var[bool], bool]] = None,
|
|
|
+ close_threshold: Optional[Union[Var[float], float]] = None,
|
|
|
+ snap_points: Optional[List[Union[str, float]]] = None,
|
|
|
+ fade_from_index: Optional[Union[Var[int], int]] = None,
|
|
|
+ scroll_lock_timeout: Optional[Union[Var[int], int]] = None,
|
|
|
+ modal: Optional[Union[Var[bool], bool]] = None,
|
|
|
+ direction: Optional[
|
|
|
+ Union[
|
|
|
+ Var[Literal["top", "bottom", "left", "right"]],
|
|
|
+ Literal["top", "bottom", "left", "right"],
|
|
|
+ ]
|
|
|
+ ] = None,
|
|
|
+ preventScrollRestoration: Optional[Union[Var[bool], bool]] = None,
|
|
|
+ as_child: Optional[Union[Var[bool], bool]] = None,
|
|
|
+ style: Optional[Style] = None,
|
|
|
+ key: Optional[Any] = None,
|
|
|
+ id: Optional[Any] = None,
|
|
|
+ class_name: Optional[Any] = None,
|
|
|
+ autofocus: Optional[bool] = None,
|
|
|
+ custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
|
|
|
+ on_blur: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_click: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_context_menu: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_double_click: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_focus: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_mount: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_mouse_down: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_mouse_enter: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_mouse_leave: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_mouse_move: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_mouse_out: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_mouse_over: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_mouse_up: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_open_change: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_scroll: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ on_unmount: Optional[
|
|
|
+ Union[EventHandler, EventSpec, list, function, BaseVar]
|
|
|
+ ] = None,
|
|
|
+ **props
|
|
|
+ ) -> "DrawerRoot":
|
|
|
+ """Create the component.
|
|
|
+
|
|
|
+ Args:
|
|
|
+ *children: The children of the component.
|
|
|
+ open: Whether the drawer is open or not.
|
|
|
+ should_scale_background: Enable background scaling, it requires an element with [vaul-drawer-wrapper] data attribute to scale its background.
|
|
|
+ close_threshold: Number between 0 and 1 that determines when the drawer should be closed.
|
|
|
+ snap_points: Array of numbers from 0 to 100 that corresponds to % of the screen a given snap point should take up. Should go from least visible. Also Accept px values, which doesn't take screen height into account.
|
|
|
+ fade_from_index: Index of a snapPoint from which the overlay fade should be applied. Defaults to the last snap point. TODO: will it accept -1 then?
|
|
|
+ scroll_lock_timeout: Duration for which the drawer is not draggable after scrolling content inside of the drawer. Defaults to 500ms
|
|
|
+ modal: When `False`, it allows to interact with elements outside of the drawer without closing it. Defaults to `True`.
|
|
|
+ direction: Direction of the drawer. Defaults to `"bottom"`
|
|
|
+ preventScrollRestoration: When `True`, it prevents scroll restoration when the drawer is closed after a navigation happens inside of it. Defaults to `True`.
|
|
|
+ as_child: Change the default rendered element for the one passed as a child.
|
|
|
+ style: The style of the component.
|
|
|
+ key: A unique key for the component.
|
|
|
+ id: The id for the component.
|
|
|
+ class_name: The class name for the component.
|
|
|
+ autofocus: Whether the component should take the focus once the page is loaded
|
|
|
+ custom_attrs: custom attribute
|
|
|
+ **props: The props of the component.
|
|
|
+
|
|
|
+ Returns:
|
|
|
+ The component.
|
|
|
+
|
|
|
+ Raises:
|
|
|
+ TypeError: If an invalid child is passed.
|
|
|
+ """
|
|
|
+ ...
|
|
|
+
|
|
|
+drawer = Drawer()
|