1import type { ComponentProps } from "react";
2
3import { cn } from "../../lib/utils";
4
5/** Shared settings card surface, with optional separators between rows. */
6export function SettingsGroup({
7 variant = "grouped",
8 divided = true,
9 className,
10 ...props
11}: ComponentProps<"div"> & {
12 variant?: "grouped" | "plain";
13 divided?: boolean;
14}) {
15 return (
16 <div
17 {...props}
18 className={cn(
19 "relative overflow-visible text-foreground",
20 variant === "grouped"
21 ? "rounded-xl border border-border/60 bg-card/40 shadow-xs/5"
22 : "space-y-1",
23 variant === "grouped" &&
24 divided &&
25 "[&>*+*]:border-t [&>*+*]:border-border/50 [&>[data-slot=settings-row]]:rounded-none",
26 className,
27 )}
28 />
29 );
30}