import React from "react"; import { cn } from "@sparkle/lib"; import { ScrollArea, ScrollBar } from "../components"; interface IconSwatchProps { icon: React.ComponentType<{ className?: string }>; onClick: () => void; isSelected?: boolean; } const IconSwatch: React.FC = ({ icon: IconComponent, onClick, isSelected, }) => ( ); interface ColorSwatchProps { onClick: (color: string) => void; color: string; isSelected?: boolean; } const ColorSwatch = ({ color, onClick, isSelected }: ColorSwatchProps) => { return (
onClick(color)} /> ); }; export interface IconPickerProps { icons: Record; onIconSelect: (iconName: string) => void; selectedIcon: string; } export const IconPicker: React.FC = ({ icons, onIconSelect, selectedIcon, }) => { return (
{Object.entries(icons).map(([name, IconComponent]) => ( onIconSelect(name)} isSelected={selectedIcon === name} /> ))}
); }; export interface ColorPickerProps { colors: string[]; onColorSelect: (color: string) => void; selectedColor: string; } export const ColorPicker: React.FC = ({ colors, onColorSelect, selectedColor, }) => { return (
{colors.map((color) => ( onColorSelect(color)} isSelected={selectedColor === color} /> ))}
); };