@@ -31,15 +31,13 @@ interface Props {
31
31
}
32
32
33
33
interface State {
34
- hovering : boolean ;
35
34
version : null | string ;
36
35
open : boolean ;
37
36
versions : string [ ] ;
38
37
}
39
38
40
39
export class Dependency extends React . PureComponent < Props , State > {
41
40
state : State = {
42
- hovering : false ,
43
41
version : null ,
44
42
open : false ,
45
43
versions : [ ] ,
@@ -106,10 +104,6 @@ export class Dependency extends React.PureComponent<Props, State> {
106
104
this . props . onRefresh ( this . props . dependency ) ;
107
105
} ;
108
106
109
- onMouseEnter = ( ) => this . setState ( { hovering : true } ) ;
110
-
111
- onMouseLeave = ( ) => this . setState ( { hovering : false } ) ;
112
-
113
107
handleOpen = ( ) => this . setState ( ( { open } ) => ( { open : ! open } ) ) ;
114
108
115
109
render ( ) {
@@ -119,18 +113,22 @@ export class Dependency extends React.PureComponent<Props, State> {
119
113
return null ;
120
114
}
121
115
122
- const { hovering , version, open, versions } = this . state ;
116
+ const { version, open, versions } = this . state ;
123
117
return (
124
118
< >
125
119
< ListAction
126
120
justify = "space-between"
127
121
align = "center"
128
- onMouseEnter = { this . onMouseEnter }
129
- onMouseLeave = { this . onMouseLeave }
130
122
css = { css ( {
131
123
position : 'relative' ,
132
- '.actions' : { backgroundColor : 'sideBar.background' } ,
133
- ':hover .actions' : { backgroundColor : 'list.hoverBackground' } ,
124
+ '.actions' : {
125
+ backgroundColor : 'sideBar.background' ,
126
+ display : 'none' ,
127
+ } ,
128
+ ':hover .actions' : {
129
+ backgroundColor : 'list.hoverBackground' ,
130
+ display : 'flex' ,
131
+ } ,
134
132
} ) }
135
133
>
136
134
< Link
@@ -141,28 +139,22 @@ export class Dependency extends React.PureComponent<Props, State> {
141
139
{ dependency }
142
140
</ Link >
143
141
144
- { ! hovering && (
145
- < Stack
146
- align = "center"
147
- justify = "flex-end"
148
- css = { css ( {
149
- position : 'absolute' ,
150
- right : 2 ,
151
- flexGrow : 0 ,
152
- flexShrink : 1 ,
153
- width : '100%' ,
154
- } ) }
155
- >
156
- < Text
157
- variant = "muted"
158
- maxWidth = "30%"
159
- css = { { display : hovering ? 'none' : 'block' } }
160
- >
161
- { formatVersion ( dependencies [ dependency ] ) } { ' ' }
162
- { version && < span > ({ formatVersion ( version ) } )</ span > }
163
- </ Text >
164
- </ Stack >
165
- ) }
142
+ < Stack
143
+ align = "center"
144
+ justify = "flex-end"
145
+ css = { css ( {
146
+ position : 'absolute' ,
147
+ right : 2 ,
148
+ flexGrow : 0 ,
149
+ flexShrink : 1 ,
150
+ width : '100%' ,
151
+ } ) }
152
+ >
153
+ < Text variant = "muted" maxWidth = "30%" >
154
+ { formatVersion ( dependencies [ dependency ] ) } { ' ' }
155
+ { version && < span > ({ formatVersion ( version ) } )</ span > }
156
+ </ Text >
157
+ </ Stack >
166
158
167
159
< Stack
168
160
className = "actions"
@@ -174,70 +166,63 @@ export class Dependency extends React.PureComponent<Props, State> {
174
166
width : '150px' , // overlay on text
175
167
} ) }
176
168
>
177
- { hovering && (
178
- < >
179
- < Select
180
- css = { { width : '80px' } }
181
- defaultValue = { versions . find (
182
- v => v === dependencies [ dependency ]
183
- ) }
184
- onChange = { e => {
185
- this . props . onRefresh ( dependency , e . target . value ) ;
186
- this . setState ( { hovering : false } ) ;
187
- } }
188
- >
189
- { versions . map ( a => (
190
- < option key = { a } > { a } </ option >
191
- ) ) }
192
- </ Select >
193
-
194
- < SingletonTooltip >
195
- { singleton => (
196
- < >
197
- < Tooltip
198
- content = { open ? 'Hide sizes' : 'Show sizes' }
199
- style = { { outline : 'none' } }
200
- singleton = { singleton }
201
- >
202
- < Button
203
- variant = "link"
204
- onClick = { this . handleOpen }
205
- css = { css ( { minWidth : 5 } ) }
206
- >
207
- { open ? < ArrowDropUp /> : < ArrowDropDown /> }
208
- </ Button >
209
- </ Tooltip >
210
- < Tooltip
211
- content = "Update to latest"
212
- style = { { outline : 'none' } }
213
- singleton = { singleton }
214
- >
215
- < Button
216
- variant = "link"
217
- onClick = { this . handleRefresh }
218
- css = { css ( { minWidth : 5 } ) }
219
- >
220
- < RefreshIcon />
221
- </ Button >
222
- </ Tooltip >
223
- < Tooltip
224
- content = "Remove"
225
- style = { { outline : 'none' } }
226
- singleton = { singleton }
227
- >
228
- < Button
229
- variant = "link"
230
- onClick = { this . handleRemove }
231
- css = { css ( { minWidth : 5 } ) }
232
- >
233
- < CrossIcon />
234
- </ Button >
235
- </ Tooltip >
236
- </ >
237
- ) }
238
- </ SingletonTooltip >
239
- </ >
240
- ) }
169
+ < Select
170
+ css = { { width : '80px' } }
171
+ defaultValue = { versions . find ( v => v === dependencies [ dependency ] ) }
172
+ onChange = { e => {
173
+ this . props . onRefresh ( dependency , e . target . value ) ;
174
+ } }
175
+ >
176
+ { versions . map ( a => (
177
+ < option key = { a } > { a } </ option >
178
+ ) ) }
179
+ </ Select >
180
+
181
+ < SingletonTooltip >
182
+ { singleton => (
183
+ < >
184
+ < Tooltip
185
+ content = { open ? 'Hide sizes' : 'Show sizes' }
186
+ style = { { outline : 'none' } }
187
+ singleton = { singleton }
188
+ >
189
+ < Button
190
+ variant = "link"
191
+ onClick = { this . handleOpen }
192
+ css = { css ( { minWidth : 5 } ) }
193
+ >
194
+ { open ? < ArrowDropUp /> : < ArrowDropDown /> }
195
+ </ Button >
196
+ </ Tooltip >
197
+ < Tooltip
198
+ content = "Update to latest"
199
+ style = { { outline : 'none' } }
200
+ singleton = { singleton }
201
+ >
202
+ < Button
203
+ variant = "link"
204
+ onClick = { this . handleRefresh }
205
+ css = { css ( { minWidth : 5 } ) }
206
+ >
207
+ < RefreshIcon />
208
+ </ Button >
209
+ </ Tooltip >
210
+ < Tooltip
211
+ content = "Remove"
212
+ style = { { outline : 'none' } }
213
+ singleton = { singleton }
214
+ >
215
+ < Button
216
+ variant = "link"
217
+ onClick = { this . handleRemove }
218
+ css = { css ( { minWidth : 5 } ) }
219
+ >
220
+ < CrossIcon />
221
+ </ Button >
222
+ </ Tooltip >
223
+ </ >
224
+ ) }
225
+ </ SingletonTooltip >
241
226
</ Stack >
242
227
</ ListAction >
243
228
{ open ? (
0 commit comments