@semcore/chart
Version:
Semrush Chart Component
50 lines • 2.48 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
import _extends from "@babel/runtime/helpers/extends";
import _createClass from "@babel/runtime/helpers/createClass";
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
import _inherits from "@babel/runtime/helpers/inherits";
import _createSuper from "@babel/runtime/helpers/createSuper";
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
var _excluded = ["defaultProps"];
import React, { Component } from 'react';
import hoistNonReactStatics from 'hoist-non-react-statics';
import getDisplayName from '@semcore/utils/lib/getDisplayName';
function copyComponent(WrappedComponent, _ref) {
var _ref$defaultProps = _ref.defaultProps,
defaultProps = _ref$defaultProps === void 0 ? {} : _ref$defaultProps,
over = _objectWithoutProperties(_ref, _excluded);
var CopyComponent = /*#__PURE__*/function (_Component) {
_inherits(CopyComponent, _Component);
var _super = _createSuper(CopyComponent);
function CopyComponent(props) {
var _this;
_classCallCheck(this, CopyComponent);
_this = _super.call(this, props);
for (var name in over) {
if (over.hasOwnProperty(name)) {
if (typeof over[name] === 'function') {
_this[name] = over[name].bind(_assertThisInitialized(_this));
}
}
}
return _this;
}
return _createClass(CopyComponent);
}(Component);
_defineProperty(CopyComponent, "displayName", getDisplayName(WrappedComponent));
_defineProperty(CopyComponent, "defaultProps", _objectSpread(_objectSpread({}, WrappedComponent.defaultProps || {}), defaultProps));
function forwardRef(props, ref) {
// @ts-ignore
return /*#__PURE__*/React.createElement(CopyComponent, _extends({}, props, {
forwardedRef: ref
}));
}
var ComponentWithRefForwarding = /*#__PURE__*/React.forwardRef(forwardRef);
ComponentWithRefForwarding.displayName = getDisplayName(WrappedComponent);
ComponentWithRefForwarding.defaultProps = WrappedComponent.defaultProps ? _objectSpread(_objectSpread({}, WrappedComponent.defaultProps), defaultProps) : defaultProps;
return hoistNonReactStatics(ComponentWithRefForwarding, WrappedComponent);
}
export default copyComponent;
//# sourceMappingURL=copy.js.map