import { useState } from "react"; import { cn } from "@/utils/ui"; import { HugeiconsIcon } from "@hugeicons/react"; import { MinusSignIcon, PlusSignIcon } from "@hugeicons/core-free-icons"; interface PropertyItemProps { direction?: "row" | "column"; children: React.ReactNode; className?: string; } export function PropertyItem({ direction = "row", children, className, }: PropertyItemProps) { return (
{children}
); } export function PropertyItemLabel({ children, className, }: { children: React.ReactNode; className?: string; }) { return ( {children} ); } export function PropertyItemValue({ children, className, }: { children: React.ReactNode; className?: string; }) { return
{children}
; } interface PropertyGroupProps { title: string; children: React.ReactNode; defaultExpanded?: boolean; collapsible?: boolean; className?: string; hasBorderTop?: boolean; hasBorderBottom?: boolean; } export function PropertyGroup({ title, children, defaultExpanded = true, collapsible = true, className, hasBorderTop = true, hasBorderBottom = true, }: PropertyGroupProps) { const [isExpanded, setIsExpanded] = useState(defaultExpanded); return (
{collapsible ? ( ) : (
{title}
)} {(collapsible ? isExpanded : true) && (
{children}
)}
); } function PropertyGroupTitle({ children, isExpanded = false, }: { children: React.ReactNode; isExpanded?: boolean; }) { return ( {children} ); }