From 9d051d383e67f8bd1d60ddb01629cb82ded0f479 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Brand=C3=A9ho?= Date: Wed, 21 Feb 2024 00:51:24 +0100 Subject: [PATCH] ThemePanel is toggleable with bool in Theme (#2675) * ThemePanel is toggleable with bool in Theme * change prop name to theme_panel --- reflex/components/radix/themes/base.py | 11 +++++++++-- reflex/components/radix/themes/base.pyi | 4 +++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/reflex/components/radix/themes/base.py b/reflex/components/radix/themes/base.py index 2b4af6f83..590dd5089 100644 --- a/reflex/components/radix/themes/base.py +++ b/reflex/components/radix/themes/base.py @@ -149,13 +149,18 @@ class Theme(RadixThemesComponent): @classmethod def create( - cls, *children, color_mode: LiteralAppearance | None = None, **props + cls, + *children, + color_mode: LiteralAppearance | None = None, + theme_panel: bool = False, + **props, ) -> Component: """Create a new Radix Theme specification. Args: *children: Child components. - color_mode: map to appearance prop. + color_mode: Map to appearance prop. + theme_panel: Whether to include a panel for editing the theme. **props: Component properties. Returns: @@ -163,6 +168,8 @@ class Theme(RadixThemesComponent): """ if color_mode is not None: props["appearance"] = color_mode + if theme_panel: + children = [ThemePanel.create(), *children] return super().create(*children, **props) def _get_imports(self) -> imports.ImportDict: diff --git a/reflex/components/radix/themes/base.pyi b/reflex/components/radix/themes/base.pyi index 0ae5812e5..2d1fdd438 100644 --- a/reflex/components/radix/themes/base.pyi +++ b/reflex/components/radix/themes/base.pyi @@ -265,6 +265,7 @@ class Theme(RadixThemesComponent): cls, *children, color_mode: Optional[LiteralAppearance | None] = None, + theme_panel: Optional[bool] = False, has_background: Optional[Union[Var[bool], bool]] = None, appearance: Optional[ Union[ @@ -412,7 +413,8 @@ class Theme(RadixThemesComponent): Args: *children: Child components. - color_mode: map to appearance prop. + color_mode: Map to appearance prop. + theme_panel: Whether to include a panel for editing the theme. has_background: Whether to apply the themes background color to the theme node. Defaults to True. appearance: Override light or dark mode theme: "inherit" | "light" | "dark". Defaults to "inherit". accent_color: The color used for default buttons, typography, backgrounds, etc