diff --git a/index.d.ts b/index.d.ts
index 4af9645..c2da7a7 100644
--- a/index.d.ts
+++ b/index.d.ts
@@ -16,6 +16,7 @@ export interface InputColorProps {
initialValue: string;
placement?: string;
onChange?(color: Color): void;
+ disabled?: boolean;
}
export default function InputColor(props: InputColorProps);
diff --git a/src/color-picker.js b/src/color-picker.js
index 56235b5..64d2c29 100644
--- a/src/color-picker.js
+++ b/src/color-picker.js
@@ -14,7 +14,7 @@ import { rgba2hex } from './utils';
const KEY_ENTER = 13;
-const ColorPicker = ({ color, onChange }) => {
+const ColorPicker = ({ color, onChange, disabled }) => {
const { r, g, b, a, h, s, v } = color;
function changeColor(color) {
@@ -80,6 +80,7 @@ const ColorPicker = ({ color, onChange }) => {
y={100 - v}
ymax={100}
onChange={({ x, y }) => changeHSV(h, x, 100 - y)}
+ disabled={disabled}
styles={{
track: { width: '100%', height: '100%', background: 'none' },
thumb: {
@@ -107,6 +108,7 @@ const ColorPicker = ({ color, onChange }) => {
x={h}
xmax={359}
onChange={({ x }) => changeHSV(x, s, v)}
+ disabled={disabled}
styles={{
track: {
width: '100%',
@@ -148,6 +150,7 @@ const ColorPicker = ({ color, onChange }) => {
},
}}
onChange={({ x }) => changeAlpha(x)}
+ disabled={disabled}
/>
{
value={color.hex}
onChange={(e) => changeHex(e.target.value)}
onKeyUp={handleHexKeyUp}
+ disabled={disabled}
/>
Hex
@@ -173,6 +177,7 @@ const ColorPicker = ({ color, onChange }) => {
max={255}
value={r}
onChange={(r) => changeRGB(r, g, b)}
+ disabled={disabled}
/>
R
@@ -182,6 +187,7 @@ const ColorPicker = ({ color, onChange }) => {
max={255}
value={g}
onChange={(g) => changeRGB(r, g, b)}
+ disabled={disabled}
/>
G
@@ -191,6 +197,7 @@ const ColorPicker = ({ color, onChange }) => {
max={255}
value={b}
onChange={(b) => changeRGB(r, g, b)}
+ disabled={disabled}
/>
B
@@ -201,6 +208,7 @@ const ColorPicker = ({ color, onChange }) => {
max={100}
value={a}
onChange={(a) => changeAlpha(a)}
+ disabled={disabled}
/>
A
@@ -211,6 +219,7 @@ const ColorPicker = ({ color, onChange }) => {
ColorPicker.defaultProps = {
initialValue: '#5e72e4',
+ disabled: false
};
const styles = {
diff --git a/src/input-color.js b/src/input-color.js
index 1af3eb9..a9618e0 100644
--- a/src/input-color.js
+++ b/src/input-color.js
@@ -5,7 +5,7 @@ import Popover from '@xkit/popover';
import ColorPicker from './color-picker';
import { parseColor } from './utils';
-const InputColor = ({ initialValue, onChange, placement, ...props }) => {
+const InputColor = ({ initialValue, onChange, placement, disabled, ...props }) => {
const [color, setColor] = useState(parseColor(initialValue));
useEffect(() => {
@@ -22,7 +22,7 @@ const InputColor = ({ initialValue, onChange, placement, ...props }) => {
return (
}
+ body={}
>
{
InputColor.defaultProps = {
placement: 'bottom',
+ disabled: false
};
export default InputColor;