| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 
							- // @flow
 - 
 - import Tooltip from '@atlaskit/tooltip';
 - import React, { Fragment } from 'react';
 - 
 - import { Icon } from '../../icons';
 - 
 - import AbstractToolboxItem from './AbstractToolboxItem';
 - import type { Props } from './AbstractToolboxItem';
 - 
 - /**
 -  * Web implementation of {@code AbstractToolboxItem}.
 -  */
 - export default class ToolboxItem extends AbstractToolboxItem<Props> {
 -     /**
 -      * Handles rendering of the actual item. If the label is being shown, which
 -      * is controlled with the `showLabel` prop, the item is rendered for its
 -      * display in an overflow menu, otherwise it will only have an icon, which
 -      * can be displayed on any toolbar.
 -      *
 -      * @protected
 -      * @returns {ReactElement}
 -      */
 -     _renderItem() {
 -         const {
 -             disabled,
 -             elementAfter,
 -             onClick,
 -             showLabel,
 -             tooltipPosition
 -         } = this.props;
 -         const className = showLabel ? 'overflow-menu-item' : 'toolbox-button';
 -         const props = {
 -             'aria-label': this.accessibilityLabel,
 -             className: className + (disabled ? ' disabled' : ''),
 -             onClick: disabled ? undefined : onClick
 -         };
 -         const elementType = showLabel ? 'li' : 'div';
 -         const useTooltip = this.tooltip && this.tooltip.length > 0;
 -         let children = (
 -             <Fragment>
 -                 { this._renderIcon() }
 -                 { showLabel && <span>
 -                     { this.label }
 -                 </span> }
 -                 { elementAfter }
 -             </Fragment>
 -         );
 - 
 -         if (useTooltip) {
 -             children = (
 -                 <Tooltip
 -                     content = { this.tooltip }
 -                     position = { tooltipPosition }>
 -                     { children }
 -                 </Tooltip>
 -             );
 -         }
 - 
 -         return React.createElement(elementType, props, children);
 -     }
 - 
 -     /**
 -      * Helper function to render the item's icon.
 -      *
 -      * @private
 -      * @returns {ReactElement}
 -      */
 -     _renderIcon() {
 -         const { disabled, icon, showLabel, toggled } = this.props;
 -         const iconComponent = <Icon src = { icon } />;
 -         const elementType = showLabel ? 'span' : 'div';
 -         const className = `${showLabel ? 'overflow-menu-item-icon' : 'toolbox-icon'} ${
 -             toggled ? 'toggled' : ''} ${disabled ? 'disabled' : ''}`;
 - 
 -         return React.createElement(elementType, { className }, iconComponent);
 -     }
 - }
 
 
  |