@@ -19,6 +19,7 @@ import DemoFrame from 'docs/src/modules/components/DemoFrame';
1919import DemoLanguages from 'docs/src/modules/components/DemoLanguages' ;
2020import getDemoConfig from 'docs/src/modules/utils/getDemoConfig' ;
2121import compose from 'docs/src/modules/utils/compose' ;
22+ import { getCookie } from 'docs/src/modules/utils/helpers' ;
2223import { ACTION_TYPES , CODE_VARIANTS } from 'docs/src/modules/constants' ;
2324
2425function compress ( object ) {
@@ -96,8 +97,13 @@ class Demo extends React.Component {
9697 anchorEl : null ,
9798 codeOpen : false ,
9899 demoHovered : false ,
100+ knowsAboutShowSource : false ,
99101 } ;
100102
103+ componentDidMount ( ) {
104+ this . setState ( { knowsAboutShowSource : getCookie ( 'knowsAboutShowSource' ) } ) ;
105+ }
106+
101107 handleClickMore = event => {
102108 this . setState ( { anchorEl : event . currentTarget } ) ;
103109 } ;
@@ -184,8 +190,10 @@ class Demo extends React.Component {
184190 } ;
185191
186192 handleClickCodeOpen = ( ) => {
193+ document . cookie = `knowsAboutShowSource=true;path=/;expires=Fri, 31 Dec 9999 23:59:59 GMT` ;
187194 this . setState ( state => ( {
188195 codeOpen : ! state . codeOpen ,
196+ knowsAboutShowSource : true ,
189197 } ) ) ;
190198 } ;
191199
@@ -222,8 +230,8 @@ class Demo extends React.Component {
222230
223231 render ( ) {
224232 const { classes, codeVariant, demo, demoOptions } = this . props ;
225- const { anchorEl, codeOpen, demoHovered } = this . state ;
226- const showSourceHint = false ;
233+ const { anchorEl, codeOpen, demoHovered, knowsAboutShowSource } = this . state ;
234+ const showSourceHint = demoHovered && ! knowsAboutShowSource ;
227235 const category = demoOptions . demo ;
228236 const demoData = this . getDemoData ( ) ;
229237 const DemoComponent = demoData . js ;
0 commit comments