'use client'; import { HexColorPicker } from 'react-colorful'; import { Input } from '@/components/ui/input'; import { cn } from '@/lib/utils/cn'; import { hexToRgb } from '@/lib/pastel/utils/color'; interface ColorPickerProps { color: string; onChange: (color: string) => void; className?: string; } export function ColorPicker({ color, onChange, className }: ColorPickerProps) { const handleInputChange = (e: React.ChangeEvent) => { const value = e.target.value; // Allow partial input while typing onChange(value); }; // Determine text color based on background brightness const getContrastColor = (hex: string) => { const rgb = hexToRgb(hex); if (!rgb) return 'inherit'; const brightness = (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; return brightness > 128 ? '#000000' : '#ffffff'; }; const textColor = getContrastColor(color); return (
); }