React Color Editable Input
Install
npm i @uiw/react-color-editable-input
Usage
import { useState } from 'react';
import { hsvaToHex } from '@uiw/color-convert';
import EditableInput from '@uiw/react-color-editable-input';
function Demo() {
const [hsva, setHsva] = useState({ h: 209, s: 36, v: 90, a: 1 });
return (
<div style={{ padding: '0 10px 0 20px' }}>
<EditableInput label="Hex" value={hsvaToHex(hsva)}
style={{ width: 68, flexDirection: 'column-reverse', alignItems: 'flex-start' }} />
<EditableInput
label="Hex"
value={hsvaToHex(hsva)}
labelStyle={{ position: 'relative', display: 'block' }}
style={{
width: 68,
flexDirection: 'column',
marginTop: 8,
}}
/>
<EditableInput label="Hex" value={hsvaToHex(hsva)} style={{ width: 84, marginTop: 14, }} />
<EditableInput
label="Hex"
value={hsvaToHex(hsva)}
labelStyle={{ position: 'relative', display: 'block' }}
style={{
width: 84,
marginTop: 8,
flexDirection: 'row-reverse',
}}
/>
</div>
);
}
Props
interface EditableInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
prefixCls?: string;
value?: string | number;
label?: string;
labelStyle?: React.CSSProperties;
inputStyle?: React.CSSProperties;
onChange?: (evn: React.ChangeEvent<HTMLInputElement>, value: string | number) => void;
}
License
Licensed under the MIT License.