@@ -17,6 +17,7 @@ import EditableInputRGBA from '@uiw/react-color-editable-input-rgba';
1717import EditableInputHSLA from '@uiw/react-color-editable-input-hsla' ;
1818import { useState } from 'react' ;
1919import Arrow from './Arrow' ;
20+ import { EyeDropper , isSupportEyeDropper } from './EyeDropper' ;
2021
2122export enum ChromeInputType {
2223 HEXA = 'hexa' ,
@@ -72,6 +73,10 @@ const Chrome = React.forwardRef<HTMLDivElement, ChromeProps>((props, ref) => {
7273 background : hsvaToRgbaString ( hsva ) ,
7374 boxShadow : 'var(--chrome-alpha-box-shadow)' ,
7475 } ;
76+ const handleClickColor = ( hex : string ) => {
77+ let result = hexToHsva ( hex ) ;
78+ handleChange ( { ...result } ) ;
79+ } ;
7580 return (
7681 < Github
7782 ref = { ref }
@@ -90,14 +95,14 @@ const Chrome = React.forwardRef<HTMLDivElement, ChromeProps>((props, ref) => {
9095 handleChange ( { ...hsva , ...newColor , a : hsva . a } ) ;
9196 } }
9297 />
93- < div style = { { padding : 15 , display : 'flex' , alignItems : 'center' } } >
98+ < div style = { { padding : 15 , display : 'flex' , alignItems : 'center' , gap : 15 } } >
99+ { isSupportEyeDropper && < EyeDropper onPickColor = { handleClickColor } /> }
94100 < Alpha
95- width = { 24 }
96- height = { 24 }
101+ width = { 28 }
102+ height = { 28 }
97103 hsva = { hsva }
98104 radius = { 2 }
99105 style = { {
100- marginRight : 15 ,
101106 borderRadius : '50%' ,
102107 } }
103108 bgProps = { { style : { background : 'transparent' } } }
0 commit comments