import * as React from 'react'; interface DetailLayoutProps { leftComponent?: () => JSX.Element; rightComponent?: () => JSX.Element; headerComponent?: () => JSX.Element; } class DetailLayout extends React.Component { constructor() { super(); } render() { const headerComponent = this.props.headerComponent ? ( this.props.headerComponent() ) : null; const leftComponent = this.props.leftComponent ? ( this.props.leftComponent() ) : null; const rightComponent = this.props.rightComponent ? ( this.props.rightComponent() ) : null; const leftSize = (leftComponent && rightComponent) ? 'ten' : 'sixteen'; const rightSize = (leftComponent && rightComponent) ? 'six' : 'zero'; const header = this.props.headerComponent ? (
{headerComponent}
) : null; return (
{header}
{leftComponent}
{rightComponent}
); } } export { DetailLayoutProps, DetailLayout };