"use strict"; exports.__esModule = true; exports.default = forwardRef; var _react = _interopRequireDefault(require("react")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function forwardRef(renderFn, _ref) { var displayName = _ref.displayName, propTypes = _ref.propTypes, defaultProps = _ref.defaultProps, _ref$allowFallback = _ref.allowFallback, allowFallback = _ref$allowFallback === void 0 ? false : _ref$allowFallback; var render = function render(props, ref) { return renderFn(props, ref); }; Object.assign(render, { displayName: displayName }); if (_react.default.forwardRef || !allowFallback) return Object.assign(_react.default.forwardRef(render), { propTypes: propTypes, defaultProps: defaultProps }); return Object.assign(function (props) { return render(props, null); }, { displayName: displayName, propTypes: propTypes, defaultProps: defaultProps }); }