From 7891ed2cc1487270a847081c4ad93be1900adc8e Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Sat, 2 Aug 2025 12:21:24 +0200 Subject: feat: make settings items expandable --- .../editor/properties-panel/property-item.tsx | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'apps/web/src/components/editor/properties-panel') diff --git a/apps/web/src/components/editor/properties-panel/property-item.tsx b/apps/web/src/components/editor/properties-panel/property-item.tsx index 86a8d378..dc6b6d74 100644 --- a/apps/web/src/components/editor/properties-panel/property-item.tsx +++ b/apps/web/src/components/editor/properties-panel/property-item.tsx @@ -1,4 +1,6 @@ import { cn } from "@/lib/utils"; +import { ChevronDown } from "lucide-react"; +import { useState } from "react"; interface PropertyItemProps { direction?: "row" | "column"; @@ -49,3 +51,34 @@ export function PropertyItemValue({ }) { return
{children}
; } + +interface PropertyGroupProps { + title: string; + children: React.ReactNode; + defaultExpanded?: boolean; + className?: string; +} + +export function PropertyGroup({ + title, + children, + defaultExpanded = true, + className, +}: PropertyGroupProps) { + const [isExpanded, setIsExpanded] = useState(defaultExpanded); + + return ( + +
setIsExpanded(!isExpanded)} + > + + {title} + + +
+ {isExpanded && {children}} +
+ ); +} -- cgit v1.3.1