@@ -95,6 +95,7 @@ class Demo extends React.Component {
9595 state = {
9696 anchorEl : null ,
9797 codeOpen : false ,
98+ demoHovered : false ,
9899 } ;
99100
100101 handleClickMore = event => {
@@ -188,6 +189,10 @@ class Demo extends React.Component {
188189 } ) ) ;
189190 } ;
190191
192+ handleDemoHover = event => {
193+ this . setState ( { demoHovered : event . type === 'mouseenter' } ) ;
194+ } ;
195+
191196 getDemoData = ( ) => {
192197 const { codeVariant, demo, githubLocation } = this . props ;
193198 if ( codeVariant === CODE_VARIANTS . HOOK && demo . rawHooks ) {
@@ -217,7 +222,8 @@ class Demo extends React.Component {
217222
218223 render ( ) {
219224 const { classes, codeVariant, demo, demoOptions } = this . props ;
220- const { anchorEl, codeOpen } = this . state ;
225+ const { anchorEl, codeOpen, demoHovered } = this . state ;
226+ const showSourceHint = false ;
221227 const category = demoOptions . demo ;
222228 const demoData = this . getDemoData ( ) ;
223229 const DemoComponent = demoData . js ;
@@ -237,12 +243,18 @@ class Demo extends React.Component {
237243 onLanguageClick = { this . handleCodeLanguageClick }
238244 />
239245 < div >
240- < Tooltip title = { codeOpen ? 'Hide the source' : 'Show the source' } placement = "top" >
246+ < Tooltip
247+ key = { showSourceHint }
248+ open = { showSourceHint ? true : undefined }
249+ title = { codeOpen ? 'Hide the source' : 'Show the source' }
250+ placement = "top"
251+ >
241252 < IconButton
242253 data-ga-event-category = { category }
243254 data-ga-event-action = "expand"
244255 onClick = { this . handleClickCodeOpen }
245256 aria-label = { codeOpen ? 'Hide the source' : 'Show the source' }
257+ color = { demoHovered ? 'primary' : 'default' }
246258 >
247259 < CodeIcon />
248260 </ IconButton >
@@ -325,6 +337,8 @@ class Demo extends React.Component {
325337 className = { clsx ( classes . demo , {
326338 [ classes . demoHiddenHeader ] : demoOptions . hideHeader ,
327339 } ) }
340+ onMouseEnter = { this . handleDemoHover }
341+ onMouseLeave = { this . handleDemoHover }
328342 >
329343 < Frame >
330344 < DemoComponent />
0 commit comments