11import React from 'react' ;
22import ReactDOM from 'react-dom' ;
33import { setComponentsNames , globalizeComponents } from './utils/utils' ;
4- import StyleGuide from 'components/StyleGuide' ;
5-
6- import './styles.css' ;
4+ import Playground from 'components/Playground' ;
75
86global . React = React ;
97
@@ -14,7 +12,33 @@ if (module.hot) {
1412// Load styleguide
1513let { config, components } = require ( 'styleguide!' ) ;
1614
15+ function getSpecName ( ) {
16+ var specName = window . location . pathname ;
17+
18+ specName = specName . split ( '/' ) ;
19+ specName . splice ( specName . length - 1 , 1 ) ;
20+ specName = specName . join ( '/' ) . replace ( / ^ \/ / , '' ) ;
21+
22+ return specName . toLowerCase ( ) ;
23+ }
24+
1725components = setComponentsNames ( components ) ;
1826globalizeComponents ( components ) ;
1927
20- ReactDOM . render ( < StyleGuide config = { config } components = { components } /> , document . getElementById ( 'app' ) ) ;
28+ var hooks = Array . prototype . slice . call ( document . querySelectorAll ( '.source_styleguidist_example' ) ) ;
29+ var component = components [ getSpecName ( ) ] ;
30+
31+ if ( component . examples ) {
32+ hooks . forEach ( ( hook ) => {
33+ var exampleIndex = hook . getAttribute ( 'data-jsx-example' ) ;
34+ var example = component . examples [ exampleIndex ] ;
35+
36+ ReactDOM . render (
37+ < Playground code = { example . content } evalInContext = { example . evalInContext } highlightTheme = { config . highlightTheme } key = { exampleIndex } index = { exampleIndex } /> ,
38+ hook
39+ ) ;
40+ } ) ;
41+ }
42+ else {
43+ console . log ( 'Styleguidist didn\'t fount any code examples for this spec.' ) ;
44+ }
0 commit comments