UNPKG

react-bootstrap

Version:

Bootstrap 3 components build with React

70 lines (53 loc) 1.93 kB
'use strict'; var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default']; exports.__esModule = true; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _styleMaps = require('./styleMaps'); var _styleMaps2 = _interopRequireDefault(_styleMaps); var _utilsCustomPropTypes = require('./utils/CustomPropTypes'); var _utilsCustomPropTypes2 = _interopRequireDefault(_utilsCustomPropTypes); var BootstrapMixin = { propTypes: { /** * bootstrap className * @private */ bsClass: _utilsCustomPropTypes2['default'].keyOf(_styleMaps2['default'].CLASSES), /** * Style variants * @type {("default"|"primary"|"success"|"info"|"warning"|"danger"|"link")} */ bsStyle: _react2['default'].PropTypes.oneOf(_styleMaps2['default'].STYLES), /** * Size variants * @type {("xsmall"|"small"|"medium"|"large"|"xs"|"sm"|"md"|"lg")} */ bsSize: _utilsCustomPropTypes2['default'].keyOf(_styleMaps2['default'].SIZES) }, getBsClassSet: function getBsClassSet() { var classes = {}; var bsClass = this.props.bsClass && _styleMaps2['default'].CLASSES[this.props.bsClass]; if (bsClass) { classes[bsClass] = true; var prefix = bsClass + '-'; var bsSize = this.props.bsSize && _styleMaps2['default'].SIZES[this.props.bsSize]; if (bsSize) { classes[prefix + bsSize] = true; } if (this.props.bsStyle) { if (_styleMaps2['default'].STYLES.indexOf(this.props.bsStyle) >= 0) { classes[prefix + this.props.bsStyle] = true; } else { classes[this.props.bsStyle] = true; } } } return classes; }, prefixClass: function prefixClass(subClass) { return _styleMaps2['default'].CLASSES[this.props.bsClass] + '-' + subClass; } }; exports['default'] = BootstrapMixin; module.exports = exports['default'];