all files / src/ Tabs.jsx

92.21% Statements 71/77
60.53% Branches 23/38
93.33% Functions 14/15
97.96% Lines 48/49
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126          35×                                                                                                                                                  
'use strict';
 
Object.defineProperty(exports, "__esModule", {
  value: true
});
 
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { Eif (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
var _react = require('react');
 
var _react2 = _interopRequireDefault(_react);
 
var _propTypes = require('prop-types');
 
var _propTypes2 = _interopRequireDefault(_propTypes);
 
var _classnames2 = require('classnames');
 
var _classnames3 = _interopRequireDefault(_classnames2);
 
var _objectAssign = require('object-assign');
 
var _objectAssign2 = _interopRequireDefault(_objectAssign);
 
var _rcTabs = require('rc-tabs');
 
var _rcTabs2 = _interopRequireDefault(_rcTabs);
 
var _TabContent = require('rc-tabs/lib/TabContent');
 
var _TabContent2 = _interopRequireDefault(_TabContent);
 
var _ScrollableInkTabBar = require('rc-tabs/lib/ScrollableInkTabBar');
 
var _ScrollableInkTabBar2 = _interopRequireDefault(_ScrollableInkTabBar);
 
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
 
function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); Iif (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
 
function _defineProperty(obj, key, value) { Iif (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
 
function _classCallCheck(instance, Constructor) { Iif (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
 
function _possibleConstructorReturn(self, call) { Iif (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
 
function _inherits(subClass, superClass) { Iif (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); Eif (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
 
var TYPESUFFIX = {
  large: 'lg',
  small: 'sm',
  filter: 'filter',
  brick: 'brick',
  open: 'open'
};
 
var Tabs = function (_React$Component) {
  _inherits(Tabs, _React$Component);
 
  function Tabs() {
    _classCallCheck(this, Tabs);
 
    return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
  }
 
  Tabs.prototype.componentWillMount = function componentWillMount() {
    Eif (document) {
      var docEle = document.documentElement;
 
      this.supportTransition = ['ms', 'moz', 'webkit', ''].some(function (prefix) {
        var prop = prefix ? prefix + 'Transition' : 'transition';
        return prop in docEle.style;
      });
    } else {
      this.supportTransition = false;
    }
  };
 
  Tabs.prototype.render = function render() {
    var _classnames;
 
    var props = this.props;
    var onTabClick = props.onTabClick,
        extraContent = props.extraContent,
        animated = props.animated,
        prefixCls = props.prefixCls;
 
    return _react2['default'].createElement(_rcTabs2['default'], _extends({}, props, {
      className: (0, _classnames3['default'])((_classnames = {}, _defineProperty(_classnames, prefixCls + '-' + TYPESUFFIX[props.type], true), _defineProperty(_classnames, props.className, !!props.className), _defineProperty(_classnames, 'no-csstransitions no-flexbox', !this.supportTransition), _classnames)),
      renderTabBar: function renderTabBar() {
        return _react2['default'].createElement(_ScrollableInkTabBar2['default'], {
          extraContent: extraContent,
          onTabClick: onTabClick
        });
      },
      renderTabContent: function renderTabContent() {
        return _react2['default'].createElement(_TabContent2['default'], { animated: animated });
      }
    }));
  };
 
  return Tabs;
}(_react2['default'].Component);
 
Tabs.propTypes = {
  prefixCls: _propTypes2['default'].string,
  onTabClick: _propTypes2['default'].func,
  className: _propTypes2['default'].string,
  type: _propTypes2['default'].oneOf(['large', 'small', 'filter', 'brick', 'open']),
  animated: _propTypes2['default'].bool,
  extraContent: _propTypes2['default'].element
};
 
Tabs.defaultProps = (0, _objectAssign2['default'])({}, _rcTabs2['default'].defaultProps, {
  prefixCls: 'kuma-tab',
  type: 'large',
  animated: true,
  onTabClick: function onTabClick() {}
});
 
Tabs.displayName = 'uxcore-tabs';
Tabs.TabPane = _rcTabs2['default'].TabPane;
 
exports['default'] = Tabs;
module.exports = exports['default'];