@@ -11,16 +11,11 @@ import Popper from '@material-ui/core/Popper';
1111import MenuItem from '@material-ui/core/MenuItem' ;
1212import MenuList from '@material-ui/core/MenuList' ;
1313
14- import Grid from '@material-ui/core/Grid' ;
15- import Hidden from '@material-ui/core/Hidden' ;
16-
1714import KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown' ;
1815import KeyboardArrowRightIcon from '@material-ui/icons/KeyboardArrowRight' ;
1916
2017import { headerToId } from './list-of-contents' ;
2118
22- const reqSource = require . context ( '!raw-loader!@docs/pages' , true , / \. m d / ) ;
23-
2419const itemStyles = makeStyles ( ( ) => ( {
2520 a : {
2621 textDecoration : 'none' ,
@@ -57,7 +52,7 @@ const contentStyles = makeStyles(() => ({
5752 }
5853} ) ) ;
5954
60- const ListOfContents = ( { file } ) => {
55+ const ListOfContents = ( { found } ) => {
6156 const [ open , setOpen ] = useState ( false ) ;
6257 const styles = contentStyles ( ) ;
6358 const anchorRef = useRef ( null ) ;
@@ -69,50 +64,41 @@ const ListOfContents = ({ file }) => {
6964 }
7065 } ;
7166
72- const text = reqSource ( `./${ file } .md` ) . default ;
73-
74- const regex = / ^ # + .* / gm;
75- const found = text . match ( regex ) || [ ] ;
76-
7767 return (
78- < Grid item xs = { 12 } md = { false } >
79- < Hidden implementation = "css" mdUp >
80- < div className = { styles . wrapper } >
81- < ClickAwayListener onClickAway = { ( ) => setOpen ( false ) } >
82- < div >
83- < Button
84- ref = { anchorRef }
85- className = { styles . button }
86- aria-controls = { open ? 'menu-list-grow' : undefined }
87- aria-haspopup = "true"
88- onClick = { ( ) => setOpen ( ( prevOpen ) => ! prevOpen ) }
89- endIcon = { ! open ? < KeyboardArrowRightIcon /> : < KeyboardArrowDownIcon /> }
90- >
91- Show content
92- </ Button >
93- < Popper open = { open } role = { undefined } transition disablePortal anchorEl = { anchorRef . current } >
94- { ( { TransitionProps } ) => (
95- < Grow { ...TransitionProps } style = { { transformOrigin : 'center top' } } >
96- < Paper >
97- < MenuList autoFocusItem = { open } id = "menu-list-grow" onKeyDown = { handleListKeyDown } >
98- { found . map ( ( text ) => (
99- < Item key = { text } text = { text } setOpen = { setOpen } />
100- ) ) }
101- </ MenuList >
102- </ Paper >
103- </ Grow >
104- ) }
105- </ Popper >
106- </ div >
107- </ ClickAwayListener >
68+ < div className = { styles . wrapper } >
69+ < ClickAwayListener onClickAway = { ( ) => setOpen ( false ) } >
70+ < div >
71+ < Button
72+ ref = { anchorRef }
73+ className = { styles . button }
74+ aria-controls = { open ? 'menu-list-grow' : undefined }
75+ aria-haspopup = "true"
76+ onClick = { ( ) => setOpen ( ( prevOpen ) => ! prevOpen ) }
77+ endIcon = { ! open ? < KeyboardArrowRightIcon /> : < KeyboardArrowDownIcon /> }
78+ >
79+ Show content
80+ </ Button >
81+ < Popper open = { open } role = { undefined } transition disablePortal anchorEl = { anchorRef . current } >
82+ { ( { TransitionProps } ) => (
83+ < Grow { ...TransitionProps } style = { { transformOrigin : 'center top' } } >
84+ < Paper >
85+ < MenuList autoFocusItem = { open } id = "menu-list-grow" onKeyDown = { handleListKeyDown } >
86+ { found . map ( ( text ) => (
87+ < Item key = { text } text = { text } setOpen = { setOpen } />
88+ ) ) }
89+ </ MenuList >
90+ </ Paper >
91+ </ Grow >
92+ ) }
93+ </ Popper >
10894 </ div >
109- </ Hidden >
110- </ Grid >
95+ </ ClickAwayListener >
96+ </ div >
11197 ) ;
11298} ;
11399
114100ListOfContents . propTypes = {
115- file : PropTypes . string . isRequired
101+ found : PropTypes . array
116102} ;
117103
118104export default ListOfContents ;
0 commit comments