UNPKG

@semcore/chart

Version:
50 lines 2.48 kB
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