/* eslint-disable react/no-multi-comp */ import React from 'react'; import {assertNever} from 'core/helpers/typescript-helpers'; interface IPropsSidePanel { side: 'left' | 'right'; width: number; // required because due to a bad implementation of SidePanelTools, they go on top heading text 'data-test-id'?: string; } export class SidePanel extends React.Component { render() { let classes = ['side-panel']; if (this.props.side === 'right') { classes.push('side-panel--shadow-right'); } else if (this.props.side === 'left') { classes.push('side-panel--shadow-left'); } else { assertNever(this.props.side); } return (
{this.props.children}
); } } export class SidePanelHeader extends React.Component { render() { return (
{this.props.children}
); } } export class SidePanelContent extends React.Component { render() { return (
{this.props.children}
); } } export class SidePanelContentBlock extends React.Component { render() { return (
{this.props.children}
); } } export class SidePanelHeading extends React.Component { render() { return (
{this.props.children}
); } } export class SidePanelTools extends React.Component { render() { return (
{this.props.children}
); } }