UNPKG

redux-form

Version:

A higher order component decorator for forms using Redux and React

64 lines (47 loc) 1.99 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.withReduxForm = exports.renderChildren = exports.ReduxFormContext = void 0; var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var React = _interopRequireWildcard(require("react")); var ReduxFormContext = React.createContext(null); exports.ReduxFormContext = ReduxFormContext; var renderChildren = function renderChildren(Component, _ref) { var forwardedRef = _ref.forwardedRef, rest = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["forwardedRef"]); return function (_reduxForm) { return React.createElement(Component, (0, _extends2["default"])({}, rest, { _reduxForm: _reduxForm, ref: forwardedRef })); }; }; exports.renderChildren = renderChildren; var withReduxForm = function withReduxForm(Component) { var Hoc = /*#__PURE__*/ function (_React$Component) { (0, _inheritsLoose2["default"])(Hoc, _React$Component); function Hoc() { return _React$Component.apply(this, arguments) || this; } var _proto = Hoc.prototype; _proto.render = function render() { return React.createElement(ReduxFormContext.Consumer, { children: renderChildren(Component, this.props) }); }; return Hoc; }(React.Component); var ref = React.forwardRef(function (props, ref) { return React.createElement(Hoc, (0, _extends2["default"])({}, props, { forwardedRef: ref })); }); ref.displayName = Component.displayName || Component.name || 'Component'; return ref; }; exports.withReduxForm = withReduxForm;