refactor(color-picker): drag the pointer smoothly (#1036)

* refactor(color-picker): drag the pointer smoothly

* keep Color picker as Functional componentgd

Co-authored-by: Mike Fix <mrfix84@gmail.com>
main
Peng Jie 4 years ago committed by GitHub
parent 714583578b
commit eaf70a9221
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,10 +9,15 @@ const pickerStyle = {
margin: '0 auto 1px', margin: '0 auto 1px',
} }
const ColorPicker = ({ onChange = () => {}, color, presets, style, disableAlpha }) => ( export default function ColorPicker(props) {
const [color, setColor] = React.useState(props.color)
const { onChange = () => {}, presets, style, disableAlpha } = props
return (
<React.Fragment> <React.Fragment>
<SketchPicker <SketchPicker
styles={{ picker: style || pickerStyle }} styles={{ picker: style || pickerStyle }}
onChange={setColor}
color={color} color={color}
onChangeComplete={onChange} onChangeComplete={onChange}
presetColors={presets} presetColors={presets}
@ -22,25 +27,23 @@ const ColorPicker = ({ onChange = () => {}, color, presets, style, disableAlpha
{` {`
/* react-color overrides */ /* react-color overrides */
:global(.sketch-picker > div:nth-child(3) > div > div > span) { :global(.sketch-picker > div:nth-child(3) > div > div > span) {
color: ${COLORS.SECONDARY} !important; color: ${COLORS.SECONDARY} !important
} }
:global(.sketch-picker > div:nth-child(3) > div > div > input) { :global(.sketch-picker > div:nth-child(3) > div > div > input) {
width: 100% !important; width: 100% !important
box-shadow: none; box-shadow: none
outline: none; outline: none
border-radius: 2px; border-radius: 2px
background: ${COLORS.DARK_GRAY}; background: ${COLORS.DARK_GRAY}
color: #fff !important; color: #fff !important
} }
/* prettier-ignore */
:global(.sketch-picker > div:nth-child(2) > div:nth-child(1) > div:nth-child(2), .sketch-picker > div:nth-child(2) > div:nth-child(2)) { :global(.sketch-picker > div:nth-child(2) > div:nth-child(1) > div:nth-child(2), .sketch-picker > div:nth-child(2) > div:nth-child(2)) {
background: #fff; background: #fff
} }
`} `}
</style> </style>
</React.Fragment> </React.Fragment>
) )
}
export default ColorPicker

Loading…
Cancel
Save