File tree Expand file tree Collapse file tree
docs/src/components/ComponentDoc Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1- import * as _ from 'lodash'
21import PropTypes from 'prop-types'
32import * as React from 'react'
43import CodeSandboxer from 'react-codesandboxer'
54import { Menu } from 'semantic-ui-react'
65
7- import { externals } from 'docs/src/components/ComponentDoc/ExampleEditor/renderConfig'
6+ import createPackageJson from './createPackageJson'
7+ import enhanceExampleCode from './enhanceExampleCode'
88
99const appTemplate = `import React from "react";
1010import ReactDOM from "react-dom";
@@ -47,7 +47,6 @@ ReactDOM.render(
4747 document.getElementById("root")
4848);
4949`
50- const dependencies = _ . mapValues ( externals , ( ) => 'latest' )
5150
5251class ComponentControlsCodeSandbox extends React . Component {
5352 static propTypes = {
@@ -94,11 +93,10 @@ class ComponentControlsCodeSandbox extends React.Component {
9493 < CodeSandboxer
9594 afterDeploy = { this . handleDeploy }
9695 examplePath = '/'
97- example = { exampleCode }
98- dependencies = { dependencies }
99- name = 'semantic-ui-react-example'
96+ example = { enhanceExampleCode ( exampleCode ) }
10097 providedFiles = { {
10198 'index.js' : { content : appTemplate } ,
99+ 'package.json' : createPackageJson ( ) ,
102100 } }
103101 skipRedirect
104102 template = 'create-react-app'
Original file line number Diff line number Diff line change 1+ import * as _ from 'lodash'
2+ import { externals } from 'docs/src/components/ComponentDoc/ExampleEditor/renderConfig'
3+
4+ const name = 'semantic-ui-example'
5+ const description = 'An exported example from Semantic UI React, https://react.semantic-ui.com/'
6+ const dependencies = {
7+ ..._ . mapValues ( externals , ( ) => 'latest' ) ,
8+ // required to enable all features due old templates in https://github.com/codesandbox/codesandbox-importers
9+ 'react-scripts' : 'latest' ,
10+ }
11+
12+ const createPackageJson = ( ) => ( {
13+ content : JSON . stringify (
14+ {
15+ name,
16+ version : '1.0.0' ,
17+ description,
18+ main : 'index.js' ,
19+ dependencies,
20+ } ,
21+ null ,
22+ 2 ,
23+ ) ,
24+ } )
25+
26+ export default createPackageJson
Original file line number Diff line number Diff line change 1+ const imagesRegex = / \/ i m a g e s \/ / gm
2+
3+ const enhanceExampleCode = ( code ) => {
4+ // To have absolute paths on CodeSandbox for images
5+ return code . replace ( imagesRegex , 'https://react.semantic-ui.com/images/' )
6+ }
7+
8+ export default enhanceExampleCode
Original file line number Diff line number Diff line change 11import * as docsComponents from '@stardust-ui/docs-components'
22import faker from 'faker'
33import React from 'react'
4+ import ReactDOM from 'react-dom'
45import PropTypes from 'prop-types'
56import * as SUIR from 'semantic-ui-react'
67
@@ -20,8 +21,9 @@ export const externals = {
2021 '@stardust-ui/docs-components' : docsComponents ,
2122 faker,
2223 lodash : require ( 'lodash' ) ,
23- react : React ,
2424 'prop-types' : PropTypes ,
25+ react : React ,
26+ 'react-dom' : ReactDOM ,
2527 'semantic-ui-react' : SUIR ,
2628}
2729
You can’t perform that action at this time.
0 commit comments