@@ -5,70 +5,51 @@ import {
5
5
NetworkComputedNode ,
6
6
NetworkInputNode ,
7
7
NetworkNodeAnimatedProps ,
8
- NetworkNodeColor ,
9
8
NetworkNodeComponent ,
10
9
} from './types'
11
10
12
11
interface NetworkNodesProps < N extends NetworkInputNode > {
13
12
nodes : NetworkComputedNode < N > [ ]
14
13
nodeComponent : NetworkNodeComponent < N >
15
- color : Exclude < NetworkNodeColor < N > , string >
16
- borderWidth : number
17
- borderColor : ( node : NetworkComputedNode < N > ) => string
18
14
onClick ?: ( node : NetworkComputedNode < N > , event : MouseEvent ) => void
19
15
onMouseEnter ?: ( node : NetworkComputedNode < N > , event : MouseEvent ) => void
20
16
onMouseMove ?: ( node : NetworkComputedNode < N > , event : MouseEvent ) => void
21
17
onMouseLeave ?: ( node : NetworkComputedNode < N > , event : MouseEvent ) => void
22
18
}
23
19
24
- const getEnterTransition = < N extends NetworkInputNode > (
25
- color : NetworkNodesProps < N > [ 'color' ] ,
26
- borderWidth : number ,
27
- borderColor : NetworkNodesProps < N > [ 'borderColor' ]
28
- ) => ( node : NetworkComputedNode < N > ) => ( {
20
+ const getEnterTransition = < N extends NetworkInputNode > ( ) => ( node : NetworkComputedNode < N > ) => ( {
29
21
x : node . x ,
30
22
y : node . y ,
31
23
radius : node . radius ,
32
- color : color ( node ) ,
33
- borderWidth,
34
- borderColor : borderColor ( node ) ,
24
+ color : node . color ,
25
+ borderWidth : node . borderWidth ,
26
+ borderColor : node . borderColor ,
35
27
scale : 0 ,
36
28
} )
37
29
38
- const getRegularTransition = < N extends NetworkInputNode > (
39
- color : NetworkNodesProps < N > [ 'color' ] ,
40
- borderWidth : number ,
41
- borderColor : NetworkNodesProps < N > [ 'borderColor' ]
42
- ) => ( node : NetworkComputedNode < N > ) => ( {
30
+ const getRegularTransition = < N extends NetworkInputNode > ( ) => ( node : NetworkComputedNode < N > ) => ( {
43
31
x : node . x ,
44
32
y : node . y ,
45
33
radius : node . radius ,
46
- color : color ( node ) ,
47
- borderWidth,
48
- borderColor : borderColor ( node ) ,
34
+ color : node . color ,
35
+ borderWidth : node . borderWidth ,
36
+ borderColor : node . borderColor ,
49
37
scale : 1 ,
50
38
} )
51
39
52
- const getExitTransition = < N extends NetworkInputNode > (
53
- color : NetworkNodesProps < N > [ 'color' ] ,
54
- borderWidth : number ,
55
- borderColor : NetworkNodesProps < N > [ 'borderColor' ]
56
- ) => ( node : NetworkComputedNode < N > ) => ( {
40
+ const getExitTransition = < N extends NetworkInputNode > ( ) => ( node : NetworkComputedNode < N > ) => ( {
57
41
x : node . x ,
58
42
y : node . y ,
59
43
radius : node . radius ,
60
- color : color ( node ) ,
61
- borderWidth,
62
- borderColor : borderColor ( node ) ,
44
+ color : node . color ,
45
+ borderWidth : node . borderWidth ,
46
+ borderColor : node . borderColor ,
63
47
scale : 0 ,
64
48
} )
65
49
66
50
export const NetworkNodes = < N extends NetworkInputNode > ( {
67
51
nodes,
68
52
nodeComponent,
69
- color,
70
- borderColor,
71
- borderWidth,
72
53
onClick,
73
54
onMouseEnter,
74
55
onMouseMove,
@@ -77,12 +58,8 @@ export const NetworkNodes = <N extends NetworkInputNode>({
77
58
const { animate, config : springConfig } = useMotionConfig ( )
78
59
79
60
const [ enterTransition , regularTransition , exitTransition ] = useMemo (
80
- ( ) => [
81
- getEnterTransition ( color , borderWidth , borderColor ) ,
82
- getRegularTransition ( color , borderWidth , borderColor ) ,
83
- getExitTransition ( color , borderWidth , borderColor ) ,
84
- ] ,
85
- [ color , borderWidth , borderColor ]
61
+ ( ) => [ getEnterTransition < N > ( ) , getRegularTransition < N > ( ) , getExitTransition < N > ( ) ] ,
62
+ [ ]
86
63
)
87
64
88
65
const transition = useTransition < NetworkComputedNode < N > , NetworkNodeAnimatedProps > ( nodes , {
0 commit comments