@@ -17,7 +17,7 @@ import JSLogo from '@material-ui/docs/svgIcons/JSLogo';
17
17
import TSLogo from '@material-ui/docs/svgIcons/TSLogo' ;
18
18
import MarkdownElement from '@material-ui/docs/MarkdownElement' ;
19
19
import DemoFrame from 'docs/src/modules/components/DemoFrame' ;
20
- import getDemo from 'docs/src/modules/utils/codesandboxDemoConfig ' ;
20
+ import getDemo from 'docs/src/modules/utils/demoConfig ' ;
21
21
import TSCodeBadge from 'docs/src/modules/components/TSCodeBadge' ;
22
22
23
23
function compress ( object ) {
@@ -168,7 +168,8 @@ class Demo extends React.Component {
168
168
} ;
169
169
170
170
handleClickStackBlitz = ( ) => {
171
- const demo = getDemo ( this . props ) ;
171
+ const { codeLanguage } = this . state ;
172
+ const demo = getDemo ( this . props , codeLanguage ) ;
172
173
const form = document . createElement ( 'form' ) ;
173
174
form . method = 'POST' ;
174
175
form . target = '_blank' ;
@@ -177,6 +178,7 @@ class Demo extends React.Component {
177
178
addHiddenInput ( form , 'project[title]' , demo . title ) ;
178
179
addHiddenInput ( form , 'project[description]' , demo . description ) ;
179
180
addHiddenInput ( form , 'project[dependencies]' , JSON . stringify ( demo . dependencies ) ) ;
181
+ addHiddenInput ( form , 'project[devDependencies]' , JSON . stringify ( demo . devDependencies ) ) ;
180
182
Object . entries ( demo . files ) . forEach ( ( [ key , value ] ) => {
181
183
addHiddenInput ( form , `project[files][${ key } ]` , value ) ;
182
184
} ) ;
@@ -300,7 +302,9 @@ class Demo extends React.Component {
300
302
>
301
303
< MenuItem onClick = { this . handleClickCopy } > Copy the source</ MenuItem >
302
304
{ demoOptions . hideEditButton ? null : (
303
- < MenuItem onClick = { this . handleClickStackBlitz } > Edit in StackBlitz</ MenuItem >
305
+ < MenuItem disabled = { codeLanguage === 'TS' } onClick = { this . handleClickStackBlitz } >
306
+ Edit in StackBlitz (JS only)
307
+ </ MenuItem >
304
308
) }
305
309
</ Menu >
306
310
</ div >
0 commit comments