mirror of
https://github.com/xibyte/jsketcher
synced 2025-12-06 16:33:15 +01:00
19 lines
No EOL
533 B
JavaScript
19 lines
No EOL
533 B
JavaScript
import React, {useState} from 'react';
|
|
import {Title} from '../Folder';
|
|
|
|
export function StackSection(props) {
|
|
let {title, initialCollapse, collapsible, children} = props;
|
|
|
|
if (collapsible === undefined) {
|
|
collapsible = true;
|
|
}
|
|
|
|
const [visible, setVisible] = useState(!initialCollapse);
|
|
|
|
const onTitleClick = collapsible ? () => setVisible(visible => !visible) : undefined;
|
|
|
|
return <React.Fragment>
|
|
<Title isClosed={!visible} onClick={onTitleClick}>{title}</Title>
|
|
{visible && children}
|
|
</React.Fragment>;
|
|
} |