UNPKG

3.1 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/extends"));
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutPropertiesLoose"));
11
12var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inheritsLoose"));
13
14var _classnames = _interopRequireDefault(require("classnames"));
15
16var _react = _interopRequireDefault(require("react"));
17
18var _propTypes = _interopRequireDefault(require("prop-types"));
19
20var _elementType = _interopRequireDefault(require("prop-types-extra/lib/elementType"));
21
22var _bootstrapUtils = require("./utils/bootstrapUtils");
23
24var _capitalize = _interopRequireDefault(require("./utils/capitalize"));
25
26var _StyleConfig = require("./utils/StyleConfig");
27
28var propTypes = {
29 componentClass: _elementType.default,
30
31 /**
32 * Apply clearfix
33 *
34 * on Extra small devices Phones
35 *
36 * adds class `visible-xs-block`
37 */
38 visibleXsBlock: _propTypes.default.bool,
39
40 /**
41 * Apply clearfix
42 *
43 * on Small devices Tablets
44 *
45 * adds class `visible-sm-block`
46 */
47 visibleSmBlock: _propTypes.default.bool,
48
49 /**
50 * Apply clearfix
51 *
52 * on Medium devices Desktops
53 *
54 * adds class `visible-md-block`
55 */
56 visibleMdBlock: _propTypes.default.bool,
57
58 /**
59 * Apply clearfix
60 *
61 * on Large devices Desktops
62 *
63 * adds class `visible-lg-block`
64 */
65 visibleLgBlock: _propTypes.default.bool
66};
67var defaultProps = {
68 componentClass: 'div'
69};
70
71var Clearfix =
72/*#__PURE__*/
73function (_React$Component) {
74 (0, _inheritsLoose2.default)(Clearfix, _React$Component);
75
76 function Clearfix() {
77 return _React$Component.apply(this, arguments) || this;
78 }
79
80 var _proto = Clearfix.prototype;
81
82 _proto.render = function render() {
83 var _this$props = this.props,
84 Component = _this$props.componentClass,
85 className = _this$props.className,
86 props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["componentClass", "className"]);
87
88 var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props),
89 bsProps = _splitBsProps[0],
90 elementProps = _splitBsProps[1];
91
92 var classes = (0, _bootstrapUtils.getClassSet)(bsProps);
93
94 _StyleConfig.DEVICE_SIZES.forEach(function (size) {
95 var propName = "visible" + (0, _capitalize.default)(size) + "Block";
96
97 if (elementProps[propName]) {
98 classes["visible-" + size + "-block"] = true;
99 }
100
101 delete elementProps[propName];
102 });
103
104 return _react.default.createElement(Component, (0, _extends2.default)({}, elementProps, {
105 className: (0, _classnames.default)(className, classes)
106 }));
107 };
108
109 return Clearfix;
110}(_react.default.Component);
111
112Clearfix.propTypes = propTypes;
113Clearfix.defaultProps = defaultProps;
114
115var _default = (0, _bootstrapUtils.bsClass)('clearfix', Clearfix);
116
117exports.default = _default;
118module.exports = exports["default"];
\No newline at end of file