UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

92 lines (73 loc) 2.68 kB
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; import _defineProperty from "@babel/runtime/helpers/defineProperty"; function _createSuper(Derived) { function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } return function () { var Super = _getPrototypeOf(Derived), result; if (isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } import React, { Children, Component } from 'react'; import PropTypes from 'prop-types'; var LazyRenderBox = /*#__PURE__*/ function (_Component) { _inherits(LazyRenderBox, _Component); var _super = _createSuper(LazyRenderBox); function LazyRenderBox() { _classCallCheck(this, LazyRenderBox); return _super.apply(this, arguments); } _createClass(LazyRenderBox, [{ key: "shouldComponentUpdate", value: function shouldComponentUpdate(nextProps) { return nextProps.hiddenClassName || !nextProps.hidden; } }, { key: "render", value: function render() { var _this$props = this.props, hiddenClassName = _this$props.hiddenClassName, hidden = _this$props.hidden, props = _objectWithoutProperties(_this$props, ["hiddenClassName", "hidden"]); if (hiddenClassName || Children.count(props.children) > 1) { if (hidden && hiddenClassName) { props.className += " ".concat(hiddenClassName); } return React.createElement("div", props); } return Children.only(props.children); } }]); return LazyRenderBox; }(Component); _defineProperty(LazyRenderBox, "propTypes", { children: PropTypes.any, className: PropTypes.string, hidden: PropTypes.bool, hiddenClassName: PropTypes.string }); export { LazyRenderBox as default }; //# sourceMappingURL=LazyRenderBox.js.map