Преглед на файлове

ThemePanel is toggleable with bool in Theme (#2675)

* ThemePanel is toggleable with bool in Theme

* change prop name to theme_panel
Thomas Brandého преди 1 година
родител
ревизия
9d051d383e
променени са 2 файла, в които са добавени 12 реда и са изтрити 3 реда
  1. 9 2
      reflex/components/radix/themes/base.py
  2. 3 1
      reflex/components/radix/themes/base.pyi

+ 9 - 2
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:

+ 3 - 1
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