| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | 
							- // @flow
 - import React, { Component } from 'react';
 - 
 - import Tab from './Tab';
 - 
 - /**
 -  * The type of the React {@code Component} props of {@link Tabs}
 -  */
 - type Props = {
 - 
 -     /**
 -      * Handler for selecting the tab.
 -      */
 -     onSelect: Function,
 - 
 -     /**
 -      * The index of the selected tab.
 -      */
 -     selected: number,
 - 
 -     /**
 -      * Tabs information.
 -      */
 -     tabs: Object
 - };
 - 
 - /**
 -  * A React component that implements tabs.
 -  *
 -  */
 - export default class Tabs extends Component<Props> {
 -     /**
 -      * Implements the React Components's render method.
 -      *
 -      * @inheritdoc
 -      */
 -     render() {
 -         const { onSelect, selected, tabs } = this.props;
 -         const { content } = tabs[selected];
 - 
 -         return (
 -             <div className = 'tab-container'>
 -                 <div className = 'tab-content'>
 -                     { content }
 -                 </div>
 -                 { tabs.length > 1 ? (
 -                     <div className = 'tab-buttons'>
 -                         {
 -                             tabs.map((tab, index) => (
 -                                 <Tab
 -                                     index = { index }
 -                                     isSelected = { index === selected }
 -                                     key = { index }
 -                                     label = { tab.label }
 -                                     onSelect = { onSelect } />
 -                             ))
 -                         }
 -                     </div>) : null
 -                 }
 -             </div>
 -         );
 -     }
 - }
 
 
  |