|  |  |  | import React from 'react'; | 
					
						
							|  |  |  | import classNames from 'classnames'; | 
					
						
							|  |  |  | import { SessionIcon, SessionIconSize, SessionIconType } from './icon'; | 
					
						
							|  |  |  | import { DefaultTheme } from 'styled-components'; | 
					
						
							|  |  |  | import { SessionButton } from './SessionButton'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | const Tab = ({ | 
					
						
							|  |  |  |   isSelected, | 
					
						
							|  |  |  |   label, | 
					
						
							|  |  |  |   onSelect, | 
					
						
							|  |  |  |   type, | 
					
						
							|  |  |  | }: { | 
					
						
							|  |  |  |   isSelected: boolean; | 
					
						
							|  |  |  |   label: string; | 
					
						
							|  |  |  |   onSelect?: (event: number) => void; | 
					
						
							|  |  |  |   type: number; | 
					
						
							|  |  |  | }) => { | 
					
						
							|  |  |  |   const handleClick = onSelect | 
					
						
							|  |  |  |     ? () => { | 
					
						
							|  |  |  |         onSelect(type); | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     : undefined; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return ( | 
					
						
							|  |  |  |     <h1 | 
					
						
							|  |  |  |       className={classNames( | 
					
						
							|  |  |  |         'module-left-pane__title', | 
					
						
							|  |  |  |         isSelected ? 'active' : null | 
					
						
							|  |  |  |       )} | 
					
						
							|  |  |  |       onClick={handleClick} | 
					
						
							|  |  |  |       role="button" | 
					
						
							|  |  |  |     > | 
					
						
							|  |  |  |       {label} | 
					
						
							|  |  |  |     </h1> | 
					
						
							|  |  |  |   ); | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | type Props = { | 
					
						
							|  |  |  |   label?: string; | 
					
						
							|  |  |  |   buttonIcon?: SessionIconType; | 
					
						
							|  |  |  |   buttonClicked?: any; | 
					
						
							|  |  |  |   theme: DefaultTheme; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export const LeftPaneSectionHeader = (props: Props) => { | 
					
						
							|  |  |  |   const { label, buttonIcon, buttonClicked } = props; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   return ( | 
					
						
							|  |  |  |     <div className="module-left-pane__header"> | 
					
						
							|  |  |  |       {label && <Tab label={label} type={0} isSelected={true} key={label} />} | 
					
						
							|  |  |  |       {buttonIcon && ( | 
					
						
							|  |  |  |         <SessionButton | 
					
						
							|  |  |  |           onClick={buttonClicked} | 
					
						
							|  |  |  |           key="compose" | 
					
						
							|  |  |  |           theme={props.theme} | 
					
						
							|  |  |  |         > | 
					
						
							|  |  |  |           <SessionIcon | 
					
						
							|  |  |  |             iconType={buttonIcon} | 
					
						
							|  |  |  |             iconSize={SessionIconSize.Small} | 
					
						
							|  |  |  |             iconColor="white" | 
					
						
							|  |  |  |             theme={props.theme} | 
					
						
							|  |  |  |           /> | 
					
						
							|  |  |  |         </SessionButton> | 
					
						
							|  |  |  |       )} | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |   ); | 
					
						
							|  |  |  | }; |