This commit is contained in:
bietiaop
2025-02-08 23:38:30 +08:00
parent 8983589e86
commit c2c2bcbce0
7 changed files with 171 additions and 35 deletions

View File

@@ -6,32 +6,28 @@ import { ColorResult, SketchPicker } from 'react-color'
interface ColorPickerProps {
color: string
onChange: (color: string) => void
onChange: (color: ColorResult) => void
}
const ColorPicker: React.FC<ColorPickerProps> = ({ color, onChange }) => {
const handleChange = (colorResult: ColorResult) => {
const hsl = colorResult.hsl
const color = `${hsl.h} ${hsl.s}% ${hsl.l}%`
onChange(color)
onChange(colorResult)
}
return (
<Popover>
<Popover triggerScaleOnOpen={false}>
<PopoverTrigger>
<div
style={{
background: color,
width: 36,
height: 14,
borderRadius: 2,
cursor: 'pointer',
border: '1px solid #ddd'
}}
className="w-36 h-8 rounded-md cursor-pointer border border-content4"
style={{ background: color }}
/>
</PopoverTrigger>
<PopoverContent>
<SketchPicker color={color} onChange={handleChange} />
<SketchPicker
color={color}
onChange={handleChange}
className="!bg-transparent !shadow-none"
/>
</PopoverContent>
</Popover>
)