import React, { PureComponent } from 'react'; interface Props { isOpen: boolean; label: string; loading?: boolean; onToggle: (isOpen: boolean) => void; } export default class Panel extends PureComponent { onClickToggle = () => this.props.onToggle(!this.props.isOpen); render() { const { isOpen, loading } = this.props; const iconClass = isOpen ? 'fa fa-caret-up' : 'fa fa-caret-down'; const loaderClass = loading ? 'explore-panel__loader explore-panel__loader--active' : 'explore-panel__loader'; return (
{this.props.label}
{isOpen && (
{this.props.children}
)}
); } }