@atlaskit/panel
Version:
A React component rendering a collapsible panel
38 lines (33 loc) • 874 B
JavaScript
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import React, { PureComponent } from 'react';
import PanelStateless from './PanelStateless';
export default class Panel extends PureComponent {
constructor(...args) {
super(...args);
_defineProperty(this, "state", {
isExpanded: !!this.props.isDefaultExpanded
});
_defineProperty(this, "handleChange", () => {
this.setState(prevState => ({
isExpanded: !prevState.isExpanded
}));
});
}
render() {
const {
children,
header
} = this.props;
const {
isExpanded
} = this.state;
return /*#__PURE__*/React.createElement(PanelStateless, {
header: header,
isExpanded: isExpanded,
onChange: this.handleChange
}, children);
}
}
_defineProperty(Panel, "defaultProps", {
isDefaultExpanded: false
});