"use client"; import * as React from "react"; import { cn } from "./lib/utils"; export interface ThemePreset { id: string; name: string; swatch: string; } export interface ThemePresetPickerProps extends Omit, "onChange"> { presets?: ThemePreset[]; value?: string; onChange?: (id: string) => void; } /** Theme preset picker: swatch cards with selected ring. */ export function ThemePresetPicker({ presets = [ { id: "cream", name: "Cream Paper", swatch: "#F6F0E0" }, { id: "night", name: "Night Stub", swatch: "#16120B" }, { id: "stamp", name: "Stamp Red", swatch: "#BC3A28" }, ], value, onChange, className, ...props }: ThemePresetPickerProps) { const [inner, setInner] = React.useState(presets[0]?.id); const active = value ?? inner; return (

Theme preset

{presets.map((p) => { const selected = p.id === active; return ( ); })}
); }