@@ -12,7 +12,6 @@ type EventHandle = (e: EventType) => void;
12
12
13
13
interface useColorDragProps {
14
14
color : Color ;
15
- offset ?: TransformOffset ;
16
15
containerRef : React . RefObject < HTMLDivElement > ;
17
16
targetRef : React . RefObject < HTMLDivElement > ;
18
17
direction ?: 'x' | 'y' ;
@@ -42,7 +41,6 @@ function useColorDrag(
42
41
props : useColorDragProps ,
43
42
) : [ TransformOffset , EventHandle ] {
44
43
const {
45
- offset,
46
44
targetRef,
47
45
containerRef,
48
46
direction,
@@ -52,21 +50,16 @@ function useColorDrag(
52
50
color,
53
51
disabledDrag,
54
52
} = props ;
55
- const [ offsetValue , setOffsetValue ] = useState ( offset || { x : 0 , y : 0 } ) ;
53
+ const [ offsetValue , setOffsetValue ] = useState ( { x : 0 , y : 0 } ) ;
56
54
const mouseMoveRef = useRef < ( event : MouseEvent ) => void > ( null ) ;
57
55
const mouseUpRef = useRef < ( event : MouseEvent ) => void > ( null ) ;
58
- const dragRef = useRef ( {
59
- flag : false ,
60
- } ) ;
61
56
57
+ // Always get position from `color`
62
58
useEffect ( ( ) => {
63
- if ( dragRef . current . flag === false ) {
64
- const calcOffset = calculate ?.( containerRef ) ;
65
- if ( calcOffset ) {
66
- setOffsetValue ( calcOffset ) ;
67
- }
59
+ if ( containerRef . current ) {
60
+ setOffsetValue ( calculate ( containerRef ) ) ;
68
61
}
69
- } , [ color , containerRef ] ) ;
62
+ } , [ color ] ) ;
70
63
71
64
useEffect (
72
65
( ) => ( ) => {
@@ -111,7 +104,7 @@ function useColorDrag(
111
104
return false ;
112
105
}
113
106
114
- setOffsetValue ( calcOffset ) ;
107
+ // setOffsetValue(calcOffset);
115
108
onDragChange ?.( calcOffset ) ;
116
109
} ;
117
110
@@ -122,7 +115,6 @@ function useColorDrag(
122
115
123
116
const onDragStop : EventHandle = e => {
124
117
e . preventDefault ( ) ;
125
- dragRef . current . flag = false ;
126
118
document . removeEventListener ( 'mousemove' , mouseMoveRef . current ) ;
127
119
document . removeEventListener ( 'mouseup' , mouseUpRef . current ) ;
128
120
document . removeEventListener ( 'touchmove' , mouseMoveRef . current ) ;
@@ -141,7 +133,6 @@ function useColorDrag(
141
133
return ;
142
134
}
143
135
updateOffset ( e ) ;
144
- dragRef . current . flag = true ;
145
136
document . addEventListener ( 'mousemove' , onDragMove ) ;
146
137
document . addEventListener ( 'mouseup' , onDragStop ) ;
147
138
document . addEventListener ( 'touchmove' , onDragMove ) ;
0 commit comments