content: import React from 'react';
  import {BaseMixin, ElementaryMixin, ContentMixin, ColorSchemaMixin, Tools} from './../common/common.js';
  import Link from './link.js';
  import Glyphicon from './glyphicon.js';
  
  import './touch-icon.less';
  
  export const TouchIcon = React.createClass({
  
    //@@viewOn:mixins
    mixins: [
      BaseMixin,
      ElementaryMixin,
      ContentMixin,
      ColorSchemaMixin
    ],
    //@@viewOff:mixins
  
    //@@viewOn:statics
    statics: {
      tagName: 'UU5.Bricks.TouchIcon',
      classNames: {
        main: 'uu5-bricks-touch-icon',
        body: 'uu5-bricks-touch-icon-body',
        label: 'uu5-bricks-touch-icon-label',
        glyphicon: 'uu5-bricks-touch-icon-glyphicon'
      }
    },
    //@@viewOff:statics
  
    //@@viewOn:propTypes
    propTypes: {
      glyphicon: React.PropTypes.string,
      href: React.PropTypes.string,
      target: React.PropTypes.oneOf(['_blank', '_parent', '_top', '_self']),
      onClick: React.PropTypes.func
    },
    //@@viewOff:propTypes
  
    //@@viewOn:getDefaultProps
    getDefaultProps: function () {
      return {
        glyphicon: 'glyphicon-file',
        href: '#',
        target: '_self',
        onClick: null
      };
    },
    //@@viewOff:getDefaultProps
  
    //@@viewOn:standardComponentLifeCycle
    //@@viewOff:standardComponentLifeCycle
  
    //@@viewOn:interface
    //@@viewOff:interface
  
    //@@viewOn:overridingMethods
    //@@viewOff:overridingMethods
  
    //@@viewOn:componentSpecificHelpers
    _getMainAttrs: function () {
      var mainAttrs = this.getMainPropsToPass();
      mainAttrs.content = null;
      mainAttrs.onClick = this.props.onClick;
      mainAttrs.href = this.props.href;
      mainAttrs.target = this.props.target;
      return mainAttrs;
    },
    //@@viewOff:componentSpecificHelpers
  
    //@@viewOn:render
    render: function () {
      return (
        <Link {...this._getMainAttrs()}>
          <div className={this.getClassName().body}>
            <Glyphicon glyphicon={this.props.glyphicon} className={this.getClassName().glyphicon} parent={this} />
          </div>
          <div className={this.getClassName().label}>
            {this.getChildren()}
          </div>
        </Link>
      );
    }
    //@@viewOff:render
  });
  
  export default TouchIcon;