Dashboard sipadu mbip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

forwardRef.js 998B

1234567891011121314151617181920212223242526272829303132333435
  1. "use strict";
  2. exports.__esModule = true;
  3. exports.default = forwardRef;
  4. var _react = _interopRequireDefault(require("react"));
  5. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  6. function forwardRef(renderFn, _ref) {
  7. var displayName = _ref.displayName,
  8. propTypes = _ref.propTypes,
  9. defaultProps = _ref.defaultProps,
  10. _ref$allowFallback = _ref.allowFallback,
  11. allowFallback = _ref$allowFallback === void 0 ? false : _ref$allowFallback;
  12. var render = function render(props, ref) {
  13. return renderFn(props, ref);
  14. };
  15. Object.assign(render, {
  16. displayName: displayName
  17. });
  18. if (_react.default.forwardRef || !allowFallback) return Object.assign(_react.default.forwardRef(render), {
  19. propTypes: propTypes,
  20. defaultProps: defaultProps
  21. });
  22. return Object.assign(function (props) {
  23. return render(props, null);
  24. }, {
  25. displayName: displayName,
  26. propTypes: propTypes,
  27. defaultProps: defaultProps
  28. });
  29. }