Apply themes to drawer content (#2612)
This commit is contained in:
parent
d8a9a0c95d
commit
74d90ffb65
@ -7,6 +7,7 @@ from types import SimpleNamespace
|
|||||||
from typing import Any, Dict, List, Literal, Optional, Union
|
from typing import Any, Dict, List, Literal, Optional, Union
|
||||||
|
|
||||||
from reflex.components.radix.primitives.base import RadixPrimitiveComponent
|
from reflex.components.radix.primitives.base import RadixPrimitiveComponent
|
||||||
|
from reflex.components.radix.themes.base import Theme
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
@ -142,6 +143,25 @@ class DrawerContent(DrawerComponent):
|
|||||||
EventTriggers.ON_INTERACT_OUTSIDE: lambda e0: [e0.target.value],
|
EventTriggers.ON_INTERACT_OUTSIDE: lambda e0: [e0.target.value],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def create(cls, *children, **props):
|
||||||
|
"""Create a Drawer Content.
|
||||||
|
We wrap the Drawer content in an `rx.theme` to make radix themes definitions available to
|
||||||
|
rendered div in the DOM. This is because Vaul Drawer injects the Drawer overlay content in a sibling
|
||||||
|
div to the root div rendered by radix which contains styling definitions. Wrapping in `rx.theme`
|
||||||
|
makes the styling available to the overlay.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
*children: The list of children to use.
|
||||||
|
**props: Additional properties to apply to the drawer content.
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
The drawer content.
|
||||||
|
"""
|
||||||
|
comp = super().create(*children, **props)
|
||||||
|
|
||||||
|
return Theme.create(comp)
|
||||||
|
|
||||||
|
|
||||||
class DrawerOverlay(DrawerComponent):
|
class DrawerOverlay(DrawerComponent):
|
||||||
"""A layer that covers the inert portion of the view when the dialog is open."""
|
"""A layer that covers the inert portion of the view when the dialog is open."""
|
||||||
|
@ -10,6 +10,7 @@ from reflex.style import Style
|
|||||||
from types import SimpleNamespace
|
from types import SimpleNamespace
|
||||||
from typing import Any, Dict, List, Literal, Optional, Union
|
from typing import Any, Dict, List, Literal, Optional, Union
|
||||||
from reflex.components.radix.primitives.base import RadixPrimitiveComponent
|
from reflex.components.radix.primitives.base import RadixPrimitiveComponent
|
||||||
|
from reflex.components.radix.themes.base import Theme
|
||||||
from reflex.constants import EventTriggers
|
from reflex.constants import EventTriggers
|
||||||
from reflex.vars import Var
|
from reflex.vars import Var
|
||||||
|
|
||||||
@ -442,10 +443,14 @@ class DrawerContent(DrawerComponent):
|
|||||||
] = None,
|
] = None,
|
||||||
**props
|
**props
|
||||||
) -> "DrawerContent":
|
) -> "DrawerContent":
|
||||||
"""Create the component.
|
"""Create a Drawer Content.
|
||||||
|
We wrap the Drawer content in an `rx.theme` to make radix themes definitions available to
|
||||||
|
rendered div in the DOM. This is because Vaul Drawer injects the Drawer overlay content in a sibling
|
||||||
|
div to the root div rendered by radix which contains styling definitions. Wrapping in `rx.theme`
|
||||||
|
makes the styling available to the overlay.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
*children: The children of the component.
|
*children: The list of children to use.
|
||||||
as_child: Change the default rendered element for the one passed as a child.
|
as_child: Change the default rendered element for the one passed as a child.
|
||||||
style: The style of the component.
|
style: The style of the component.
|
||||||
key: A unique key for the component.
|
key: A unique key for the component.
|
||||||
@ -453,13 +458,10 @@ class DrawerContent(DrawerComponent):
|
|||||||
class_name: The class name for the component.
|
class_name: The class name for the component.
|
||||||
autofocus: Whether the component should take the focus once the page is loaded
|
autofocus: Whether the component should take the focus once the page is loaded
|
||||||
custom_attrs: custom attribute
|
custom_attrs: custom attribute
|
||||||
**props: The props of the component.
|
**props: Additional properties to apply to the drawer content.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
The component.
|
The drawer content.
|
||||||
|
|
||||||
Raises:
|
|
||||||
TypeError: If an invalid child is passed.
|
|
||||||
"""
|
"""
|
||||||
...
|
...
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user