UNPKG

1.96 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
12var _classnames = _interopRequireDefault(require("classnames"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _ThemeProvider = require("./ThemeProvider");
17
18var _excluded = ["bsPrefix", "className", "noGutters", "as"];
19var DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];
20var defaultProps = {
21 noGutters: false
22};
23
24var Row = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
25 var bsPrefix = _ref.bsPrefix,
26 className = _ref.className,
27 noGutters = _ref.noGutters,
28 _ref$as = _ref.as,
29 Component = _ref$as === void 0 ? 'div' : _ref$as,
30 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
31 var decoratedBsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'row');
32 var sizePrefix = decoratedBsPrefix + "-cols";
33 var classes = [];
34 DEVICE_SIZES.forEach(function (brkPoint) {
35 var propValue = props[brkPoint];
36 delete props[brkPoint];
37 var cols;
38
39 if (propValue != null && typeof propValue === 'object') {
40 cols = propValue.cols;
41 } else {
42 cols = propValue;
43 }
44
45 var infix = brkPoint !== 'xs' ? "-" + brkPoint : '';
46 if (cols != null) classes.push("" + sizePrefix + infix + "-" + cols);
47 });
48 return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
49 ref: ref
50 }, props, {
51 className: _classnames.default.apply(void 0, [className, decoratedBsPrefix, noGutters && 'no-gutters'].concat(classes))
52 }));
53});
54
55Row.displayName = 'Row';
56Row.defaultProps = defaultProps;
57var _default = Row;
58exports.default = _default;
59module.exports = exports["default"];
\No newline at end of file