antd
Version:
An enterprise-class UI design language and React-based implementation
49 lines (41 loc) • 1.77 kB
JavaScript
import _extends from 'babel-runtime/helpers/extends';
import _defineProperty from 'babel-runtime/helpers/defineProperty';
import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
import _createClass from 'babel-runtime/helpers/createClass';
import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
import _inherits from 'babel-runtime/helpers/inherits';
import React from 'react';
import PropTypes from 'prop-types';
import RcSwitch from 'rc-switch';
import classNames from 'classnames';
var Switch = function (_React$Component) {
_inherits(Switch, _React$Component);
function Switch() {
_classCallCheck(this, Switch);
return _possibleConstructorReturn(this, (Switch.__proto__ || Object.getPrototypeOf(Switch)).apply(this, arguments));
}
_createClass(Switch, [{
key: 'render',
value: function render() {
var _props = this.props,
prefixCls = _props.prefixCls,
size = _props.size,
_props$className = _props.className,
className = _props$className === undefined ? '' : _props$className;
var classes = classNames(className, _defineProperty({}, prefixCls + '-small', size === 'small'));
return React.createElement(RcSwitch, _extends({}, this.props, { className: classes }));
}
}]);
return Switch;
}(React.Component);
export default Switch;
Switch.defaultProps = {
prefixCls: 'ant-switch'
};
Switch.propTypes = {
prefixCls: PropTypes.string,
// HACK: https://github.com/ant-design/ant-design/issues/5368
// size=default and size=large are the same
size: PropTypes.oneOf(['small', 'default', 'large']),
className: PropTypes.string
};